for循环里用var i=0;i<content.childNodes.length;i++为什么实现不了?

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

大梦Diamond

2016-08-30 10:05

for循环从0到子节点长度的值,就无法实现清楚,反过来从子节点长度的值到0,就可以实现,为什么呢?

写回答 关注

3回答

  • qq_TheReborn_14018667
    2016-09-24 12:20:28
    function clearText() {
      var content=document.getElementById("content");
      // 在此完成该函数
      var a = content.childNodes;
      for (var i = 0; i < a.length; i++){
          content.removeChild( content.childNodes[0] );
          i--;
      }
    }
    </script>


  • 慕用5675268
    2016-08-31 10:59:43

    1.用.length来限定for循环次数的时候,length的长度会变。数组里面的[i]也是变化的。
    2.空白文本的节点也是要考虑进去的。(这也是为什么例子里面是childNodes[1]而不是childNodes[0]的原因,因为[0]是空白节点)

    慕丝4318... 回复慕用5675...

    谢谢!明白了

    2016-09-09 22:41:17

    共 3 条回复 >

  • 心的世界
    2016-08-30 10:17:37

    不知道.....

JavaScript进阶篇

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

468192 学习 · 21891 问题

查看课程

相似问题