慕用9345534
2017-01-13 12:41
我用的360,不是应该算文字空白节点吗?我试了下,childNodes的长度是11啊,那应该是删除13579啊?怎么会是连续的?
var content=document.getElementById("content");
// 在此完成该函数
document.write(content.childNodes.length);
for(var i=0;i<content.childNodes.length;i++)
{
if(content.childNodes[i].nodeType!=3)
{
var x=content.removeChild(content.childNodes[i]);
document.write("删除"+i+":"+x.innerHTML+"<br/>");
}
document.write(content.childNodes.length);
}
}
在你的代码中添加了两个document.write(content.childNodes.length); 当for循环执行第一次删除后,节点变成了10个,也就是说子节点数组中 node[0] node[1] 都是空白节点了,node[2] 变成了<h1>php</h1>,然后继续循环,只要删除一次节点 数组长度就减1.然后从新计算顺序。不知道你明白不?
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题