在使用childnodes时,发现需要删除的元素多于1时,会出现无法全部删除的情况。谷歌以后发现,该属性返回的子节点集合是实时更新的,也就是说,在for循环中,当删除第一个子节点之后,第二次删除的是原子节点集合中的第三个元素。故需要删除全部子节点时,使用
while(node.childnodes.length>0){ node.removechild(node.childnodes[0]); }
在mdn中查了一下,childnodes返回的是nodelist对象,该nodelist对象是实时更新的(有些nodelist对象不是实时更新的),所以才会引起上述现象。
如对本文有疑问, 点击进行留言回复!!
MFC的静态库.lib、动态库.dll(包含引入库.lib)以及Unicode库示例
CTF 刷题记录(一) 白云新闻搜索(手动与自动化SQL注入)
javascript如何使用函数random来实现课堂随机点名方法详解
网友评论