Javascript 未删除节点列表数据

Javascript 未删除节点列表数据,javascript,nodelist,xmlnodelist,Javascript,Nodelist,Xmlnodelist,我有一个数组对象,它有3个对象。我想删除除第一个对象之外的所有对象 以下是我从XML获得的数据: mrArr[0] = <Data> <G> "Val" = "5" </G> </Data> mrArr[1] = <Data> <G> "Val" = "6" </G> </Data> mrA

我有一个数组对象,它有3个对象。我想删除除第一个对象之外的所有对象

以下是我从XML获得的数据:

mrArr[0] = <Data>
                <G> "Val" = "5" </G>
           </Data>  
mrArr[1] = <Data>
                <G> "Val" = "6" </G>
           </Data>
mrArr[2] = <Data>
                <G> "Val" = "7" </G>
           </Data>
mrArr[0]=
“Val”=“5”
mrArr[1]=
“Val”=“6”
mrArr[2]=
“Val”=“7”
我创建了一个循环来尝试这样做,但它只删除了一个元素。我的循环有什么问题

for(var i = 1; i < myArr.length; i++){
    myArr[i].remove();
}
for(变量i=1;i

它只删除一个元素

数组没有函数
删除
。您可以使用类似myArray.splice(1)

constmyarray=[1,2,3];
log(myArray);
myArray.splice(1);

log(myArray)
由于每次迭代后都要对数组进行变异,
array.length
会不断减少。因此,在您的示例中,循环只执行一次,因此只删除一个元素

下面是一个你正在努力实现的工作示例

var nodes=document.getElementsByTagName('div');
log('删除前:',节点);
while(nodes.length>1){
var node=nodes[nodes.length-1];
node.parentNode.removeChild(节点);
}
log('删除后:',节点)
这里是div-01
这是02组
下面是div-03
一个JavaScript的工作原理与JavaScript不同,您拥有的是一个
节点列表
。从DOM中删除/删除节点时,它也会从保留它的任何
节点列表中删除。因此,您需要迭代
节点列表的
.length
,但不希望增量表达式实际递增:

dataNodes=document.getElementsByTagName(“数据”);
计数=0;//调试
对于(i=0;i
“Val”=“5”
“Val”=“6”

“Val”=“7”
未获得
拼接
选项阵列没有名为
删除
的函数<代码>拼接
接受并
索引和计数
,表示从开始移除的
索引
计数
-移除的项目数。如果未通过
count
,则会一直删除到最后<代码>拼接
也会影响当前数组。如果要删除第一项,则其中的数据没有区别问题是关于
节点列表
而不是常规数组。因此,
splice
filter
方法在这里不适用。标题是
Array
。这是一个
xml
not nodelisti这是一个dom元素数组吗?@charlietfl是的,我从xml中获取了数组。这是我用来提供。所显示的内容不可运行示例错误是什么?我猜是因为IE不支持
node.remove()
;我已经更新了答案,假设这就是问题所在。让我试试这个。