李白并不白
2017-02-18 12:16
为什么nodeType!=1就continue?
var content=document.getElementById("content"); // 在此完成该函数 var ch=content.childNodes; for(var i=0;i<ch.length;i++) { if(ch[i].nodeType!=1) { continue; } else { var x=content.removeChild(ch[i]); x=null; } }
前面讲过空白节点的问题了,最好再看看!
因为非IE浏览器会把每个<div>和<h1>、</h1><h1>、</h1>和</div>之间的换行、空格及文本看作一个“空白节点”,nodeType!=1就continue是为了去除这些空白节点。
另外,你这个方法还是有错的!for循环条件中ch.length是不断变化的,因为你一直在删除节点,会出现点一下按钮“删不净”的问题。【看问答那篇置顶】把var len=ch.length;放在for循环外面,循环条件改为i<len;就可以了
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题