请问这样写为有什么错误吗?为什么删除节点是两个两个删的

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

鸭梨同学

2016-01-07 16:35

function clearText() {

  var content=document.getElementById("content");

  // 在此完成该函数

  var x=document.getElementById('content').childNodes;

  for(i=0;i<x.length;i++){

      var y=content.removeChild(content.childNodes[0]);

 

  }

}


写回答 关注

2回答

  • fengguowuhen1994
    2016-01-11 09:21:09

    因为删除节点后,子节点就在变化,你的x是变化的,x的长度也是变化的,可试着改为

    function clearText() {

    var content=document.getElementById("content");

    // 在此完成该函数

    var x=document.getElementById('content').childNodes.length;

    for(i=0;i<x;i++){

    var y=content.removeChild(content.childNodes[0]);

     

    }

    }

  • 风之雪
    2016-01-07 22:11:49

    应该为:for(i=0;i<x.length;i++){

          var y=content.removeChild(content.childNodes[i]);

      }

JavaScript进阶篇

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

468192 学习 · 21891 问题

查看课程

相似问题