如何实现逐个删除节点?

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

哈噜噜呦吧啦

2017-04-27 10:11

求助大神 我的代码是执行一次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>


写回答 关注

2回答

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

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

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

    }

    慕丝1033...

    这样写是从最后一个节点开始删除的,怎么去除空白文本啊,求指教

    2017-07-09 15:43:39

    共 6 条回复 >

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

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

    content.childNodes.length!=0

    慕勒7123... 回复哈噜噜呦吧啦

    还是for循环,不过while也可以用,用while反而更好理解

    2017-04-27 14:51:05

    共 2 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题