删除节点代码

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

wlf1112

2015-12-02 15:31

<script type="text/javascript">
function clearText() {
  var content=document.getElementById("content");
  // 在此完成该函数
  for(i=0;i<content.childNodes.length-1;i++)
  {
      var a=content.removeChild(content.childNodes[i]);
      document.write(a);
  }
 
}
</script>这样写的话,点击一次就可以清除,循环语句可以这么写吗

写回答 关注

1回答

  • 一毛钱
    2015-12-02 16:36:47
    已采纳

    这样写不可以,因为循环遍历的时候,一边遍历一边删除,这样导致的结果就是会找不到要删除的数据,比如说content有五个元素,i=3时,content只有2个了,你再去获得content[i]已经不存在了,这个可以用倒序的方法实现删除,代码如下:

    function clearTexts() {
            var content = document.getElementById("mainbody");
            for (var i = content.childNodes.length - 1; i >= 0; i--) {
                var childNode = content.childNodes[i];
                content.removeChild(childNode);
            }
        }


    wlf111...

    非常感谢!

    2015-12-02 16:38:28

    共 2 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题