问答详情
源自:9-14 删除节点removeChild()

为什么第一次点击会删除3个节点

<script type="text/javascript">

function clearText() {

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

  // 在此完成该函数

  var node = document.getElementsByTagName("h1");

  for(var i=0;i<node.length;i++)

  {

      content.removeChild(node[0]);

  }

  

}

</script>


提问者:啊哈哈君o_0 2017-04-26 16:22

个回答

  • 慕勒7123956
    2017-04-26 19:21:58

    大概看了一下这个题目,原理应该是,你第一次删除的时候,node.length其实会减少一个,但是你删除一个节点之后node[0]变成了另外一个节点。删除了三个原因应该是,第四次执行的时候,i已经和node.length一般大了,退出了循环。你可以考虑改变一下循环的判定语句,比如node.length!=0