为了账号安全,请及时绑定邮箱和手机立即绑定

有问题吗,点第一下没反应。

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

点第二下  1,2 ,5节点清除了,咋回事

正在回答

1 回答

因为childnodes集合是动态改变的,在for循环中i的值不断递增,前面的属性就删不掉了。

x在第一次循环的时候是这样的[text, h1, text, h1, text, h1, text, h1, text, h1, text]

i=0 ,text删掉,此时x变成[ h1, text, h1, text, h1, text, h1, text, h1, text]

i=1,此时X变成[ h1, h1, text, h1, text, h1, text, h1, text]

....

应该明白了吧。为什么要点两次才会删除h

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

有问题吗,点第一下没反应。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信