问答详情
源自:9-14 删除节点removeChild()

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

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

提问者:大梦Diamond 2016-08-30 10:05

个回答

  • 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]是空白节点)

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

    不知道.....