当你使用for来循环node.length,并删除其中结点时会删不干净。
for(var i=0;i var field=lista.childNodes.item(i);
if (field.className == ‘area’)
{
alert(‘title’+field.title);
lista.removeChild(field);
}
}
因为当你删除一个结点时,结点的索引会-1,所以lista.childNodes.length也会相应-1。
测试代码:
cc
列出了NodeList 对象所提供的属性和方法:
NodeList 属性 | 描述 | 范例 |
length | 包含在节点集合中的节点个数 | NodeCount =Element.childNodes.length; |
item(0-based-index)(default method) | 依所传入的索引值,传回你所要的节点,而索引值零(0)表第一个节点代 | SecondChild=Element.childNodes.item (1) ;or SecondChild=Element.childNodes (1); |
reset () | 设定内部指针,指向节点集合中第一个节点位置之前,所以当下个nextNode 被呼叫时,将传回第一个节点 | Element.childNodes.reset (); |
nextNode () | 传回节点集合中的下一个节点,是籍由内部指针的标记来达到 | Element.childNodes.reset ();FirstNode=Element.childNodes.nextNode (); |
No Responses (yet)
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.