为什么运行效果不对

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

阿钰12346

2018-08-19 12:36

<!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 son = content.childNodes[i];
      content.removeChild(son);
  }
}
</script>

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

</body>
</html>


写回答 关注

4回答

  • 路得1
    2018-08-22 14:13:27

    <!DOCTYPE HTML>

    <html>

    <head>

    <meta 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");

      // 在此完成该函数

      content.childNodes.length;


      for(var i=1;i<content.childNodes.length;i++){

          content.removeChild(content.childNodes[i]);

      }

      

    }

    </script>

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

    </body>

    </html>


  • 路得1
    2018-08-22 14:02:56

    IE浏览器有效果

  • qq_西_akuwyJ
    2018-08-22 10:38:35

    <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=4;i>=0;i--){

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

          

      }

    }

    </script>


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




    </body>

    用for循环遍历首先删除第一个元素html,接下来的4个元素不是原来的2,3,4,5了  而是1,2,3,4 ,接下来删除第二个元素是javascript,跟队列数据结构一样的原理,比如排队买票,第一人买了票走了,后面的人依次上前一位,原本的第二个人站到了第一个人的位置,就是这样,所以需要倒叙删除。然后就是前面空格的问题,除IE浏览器其他浏览器默认空格代表一个节点。

  • code_walker
    2018-08-20 19:09:28

    不是很懂,可能涉及到浏览器的问题吧

    我试了函数里用document.write()随便打印啥,也可以一次删除。

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题