hhahaha
2018-05-11 09:47
我有点犯晕,会的教一下。这两段代码的区别。谢谢了。
不一样,如果在外面申明node1 = content.childNodes.length 后再执行循环 for (i = 0; i < node1; i++)的话,每次执行for循环的时候node1的值就不会变了;
如果使用 for (i = 0; i < content.childNodes.length; i++) 的话每次执行 for 循环的时候 content.childNodes.length的值都在变小,因为每次执行一次 for循环都移除了一个length 长度,就是截图中央那段话表达的意思。
为什么同学代码中最高票回答的第一个代码能正常运行,按理说应该无法一次删除啊?
for(var i=0;i<content.childNodes.length;i++){
if(content.childNodes[i].nodeType!=1){
continue;
}else{
content.removeChild(content.childNodes[i]);
}
}
果然有个地方不一样哎,多谢
求助呀
<script type="text/javascript">
function clearText() {
var content=document.getElementById("content");
// 在此完成该函数
// var all = content.childNodes.length;
// for(i=0;i<all;i++)
// {var x=content.removeChild(content.childNodes[i]);
// x=null;
// }
var all = content.childNodes;
for(i=0;i<all.length;i++)
{var x=content.removeChild(content.childNodes[i]);
x=null;
}
}
</script>
为什么我用这两种方法写出来的效果是一样的?都不太正常啊
非常感谢
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题