为什么一次不能删除完?
测试删除节点时,用了点ES6语法:
function clearText() { var content=document.getElementById("content"); // 在此完成该函数 var childs = content.childNodes; console.log(childs); for(child of childs){ content.removeChild(child); } }
实际执行时诡异的事情出现了,点一次没反应,点两次消除三行,点三次消除剩下的两行....
于是我用console.log把子节点列表返回到控制台,
结果发现是一个长度11的数组,再然后特么这个数组对象居然还有五个字面量属性,控制台输出如下:
[text, h1, text, h1, text, h1, text, h1, text, h1, text] 0:h1 1:h1 2:h1 3:h1 4:h1 length:5 __proto__:NodeList
说明第一次删除了所有的text,第二次部分删除了h1,第三次删干净了...
可是我在for循环中,console.log(child)得到了全部的节点列表。。。为啥不能一次删完?
[text, h1, text, h1, text, h1, text, h1, text, h1, text] #text <h1>html</h1> #text <h1>php</h1> text <h1>javascript</h1> #text <h1>jquery</h1> #text <h1>java</h1> #text