为啥要点几次才能全删完?。。。

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

qq_银色水晶瓶_0

2018-06-11 16:27

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>

<body>
<div id="content">
<h1>html</h1><h1>php</h1><h1>javascript</h1><h1>jquery</h1><h1>java</h1></div>

<script type="text/javascript">
function clearText() {
  var content=document.getElementById("content");
  // 在此完成该函数
  for(var i=0;i<content.childNodes.length;i++){
      var x =content.removeChild(content.childNodes[i]);
      x=null;
  }
  
}
</script>

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



</body>
</html>


写回答 关注

3回答

  • 那人那人
    2018-06-14 14:54:16

    这样一次删除

    风起临冬 回复慕娘2471...

    排除空格节点,如果是在IE浏览器上运行,就不需要加了。

    2018-08-03 11:44:44

    共 2 条回复 >

  • 那人那人
    2018-06-14 14:52:17
    for(var i=0;i<content.childNodes.length;i++)
    {      
        if(content.childNodes[i]&&content.childNodes[i].nodeType!=1)
        {          
            continue;      
        }else{
              content.removeChild(content.childNodes[i]);
        }    
    }


    syni

    老姐,我把你的代码复制进去,结果还是要点几次才能清除

    2018-06-26 14:45:36

    共 1 条回复 >

  • qq_银色水晶瓶_0
    2018-06-11 16:29:00

    循环改成i+2及以上都能一次删完。。



    hidden...

    因为每次删完你的childnodes列表都变了,然后你又i+1了,就相当于每次都是隔一个删一个了

    2018-07-13 16:15:23

    共 1 条回复 >

JavaScript进阶篇

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

468191 学习 · 21891 问题

查看课程

相似问题