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

如何实现逐个删除节点?

求助大神 我的代码是执行一次onclick就直接删除了3个节点,如何改写代码能实现逐个删除?

<script type="text/javascript">

function clearText() {

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

  for(i=0;i<content.childNodes.length;i++)

  {

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

      x=null;

  }

}

</script>

<button onclick="clearText()">清除节点内容</button>


提问者:哈噜噜呦吧啦 2017-04-27 10:11

个回答

  • 我要SSR
    2017-05-10 10:48:10
    已采纳

    逐个删除完全可以不用循环啊。。。先清除空白文本。。。然后执行下面代码。

    function clearText() {
      var content=document.getElementById("content");
      // 在此完成该函数
          content.removeChild(content.childNodes[0]);//也可以从后面逐个删除,把0改为content.childNodes.length-1

    }

  • 慕勒7123956
    2017-04-27 10:45:26

    因为,你在删除一个元素之后,content.childNodes的长度也会发生变化啊,可以尝试,修改一下判断条件,比如

    content.childNodes.length!=0