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

为什么加了if那一条语句就可以一次性删除?

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

      if(content.childNodes[i].nodeType==1)

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

  }


正在回答

2 回答

if语句在for循环内,只有当i>=content.childNodes.length,才会退出循环,所以这期间,只要有符合if条件的都会被remove

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

清馨_life 提问者

不是应该也是每删除一个content.childNodes.length会减1吗?
2016-06-26 回复 有任何疑惑可以回复我~
#2

guoguo13 回复 清馨_life 提问者

不好意思,我开始理解错误。我调试了一下,在整个for循环中,虽然length的值在减少,但是i的值一直小于length,所以他会整个都删除掉。 console.log(content.childNodes.length); console.log(content.childNodes); console.log(content.childNodes[i]); console.log(i);
2016-06-28 回复 有任何疑惑可以回复我~
#3

清馨_life 提问者

非常感谢!
2016-07-08 回复 有任何疑惑可以回复我~

 content.removeChild(content.childNodes[0]这样是一次性删除。

 content.removeChild(content.childNodes[i]);这样会减1.



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

举报

0/150
提交
取消

为什么加了if那一条语句就可以一次性删除?

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