循环利用removeChild()和insertBefore()将节点倒序失败

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

慕移动0851642

2018-11-13 15:15

<!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><h2>javascript</h2><h1>jquery</h1><h1>java</h1></div>


<script type="text/javascript">

function clearText() {

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

  // 在此完成该函数

  for(var i=content.childNodes.length-1;i>=0;i--){

      var x=content.removeChild(content.childNodes[content.childNodes.length-1]);

      //document.write(x.nodeName+"<br>"+x.nodeValue+"<br>"+x.nodeType+"<br>"+x.innerHTML+"<br><br>");

      content.insertBefore(x,content.childNodes[0]);

  }

}

</script>

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

</body>

</html>


写回答 关注

1回答

  • 慕移动0851642
    2018-11-14 00:59:23

    <!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><h2>javascript</h2><h1>jquery</h1><h1>java</h1></div>


    <script type="text/javascript">

    function clearText() {

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

      // 在此完成该函数

      for(var i=content.childNodes.length-1,j=0;i>=0;i--,j++){

          var x=content.removeChild(content.childNodes[content.childNodes.length-1]);

          //document.write(x.nodeName+"<br>"+x.nodeValue+"<br>"+x.nodeType+"<br>"+x.innerHTML+"<br><br>");

          content.insertBefore(x,content.childNodes[j]);

      }

    }

    </script>

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

    </body>

    </html>

    已解决,当初逻辑弄错了


JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题