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

2个方法就是循环顺序不一样,为什么效果就不一样

2个方法就是循环顺序不一样,为什么效果就不一样

拉拉拉 2016-09-27 11:42:24
for(var i=0;i<content.childNodes.length;i++){     var chnode=content.childNodes[i];     content.removeChild(chnode);     }   //此方法一个个移除结点    for(var i=content.childNodes.length-1;i>=0;i--){       var chnode=content.childNodes[i];       content.removeChild(chnode);      }    //此方法可以一次性移除结点不就是循环顺序不一样,为什么效果不一样
查看完整描述

2 回答

已采纳
?
Caballarii

TA贡献1123条经验 获得超629个赞

因为removeChild改变了childNodes的个数,下标就变了。

比如[0,1,2],i=0时,移除了0,剩下[1,2],第二次执行的时候i=1,这时候移除的就是2了,因为1已经被提前到0的位置上了

查看完整回答
1 反对 回复 2016-09-27
?
_潇潇暮雨

TA贡献646条经验 获得超225个赞

楼上正解。

查看完整回答
反对 回复 2016-09-27
  • 2 回答
  • 0 关注
  • 1111 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信