把document.write(elength+'</br>'+content.childNodes.length+'</br>');注释掉会分次删除子节点,否则会一次性删除所有子节点,为什么是这个效果

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

山岳之王

2016-02-16 18:06

</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">

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

var elength=content.childNodes.length;

function clearText() {

  // 在此完成该函数

  for(var i=0;i<elength;i++){

    var chnode=content.childNodes[i];

    content.removeChild(chnode); 

    document.write(elength+'</br>'+content.childNodes.length+'</br>');

  }

}

</script>

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

</body>

</html>


写回答 关注

1回答

  • Cooling_ZS
    2016-02-16 23:26:53

    应该是文档节点的问题,具体的,如果把上面的改成这样,那么就能够一次性清除了。

    <div id="content"><h1>

    html</h1>

    <h1>

    php</h1>

    <h1>

    javascript</h1>

    <h1>

    jquery</h1>

    <h1>

    java</h1>

    </div>


JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题