为什么i++不能一次性删除 i--却可以啊

来源:9-14 删除节点removeChild()

苏慕然

2015-11-20 15:15


<script type="text/javascript">
function clearText() {
  var content=document.getElementById("content");
  // 在此完成该函数
         var i =0
        for( i=0; i<content.childNodes.length-1;i++){
            var childNode=content.childNodes[i];
            content.removeChild(childNode)
        }  

}
</script>

写回答 关注

1回答

  • pardon110
    2015-11-21 16:55:09
    已采纳

    content.childNodes.length动态获取节点的个数,假定删除2个节点,

    第一次循环: i=0  , length为2,

    执行删除子节点后,i++

    第二次循环: i=1,length为1; 条件不通过不执行。跳出。

    通过一轮for循环,不能删除所有。

    问题的关键在于被删除后length值可变。用i++的形式,不能删除最后一个元素,而使用i--每次总能将最后一个删掉。

    苏慕然

    非常感谢!

    2015-11-24 09:01:13

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题