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

请教!为什么这样写是一个一个消除?

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

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

  }

写成这样,就要点好几下才能消除。

但是如果写成下面这样,就一下能消除:

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

    var chnode=content.childNodes[i];

    content.removeChild(chnode);  

  }

看了一下区别仅仅是第二个定义了变量。请问为什么定义变量就不一样了?

提问者:利木 2017-01-25 17:08

个回答

  • BlueBlueSkyZ
    2017-01-25 22:26:15

    大兄弟,你确定两个不一样。。?应该说都是从前往后删的,然后都会出现问题,我试了一下确实如此。因为length是会动态改变的,如果从前往后删的会判断条件会一直自动变小,所以一次性是删不完的。。