Javascript 未删除节点列表数据
我有一个数组对象,它有3个对象。我想删除除第一个对象之外的所有对象 以下是我从XML获得的数据: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
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()
;我已经更新了答案,假设这就是问题所在。让我试试这个。