請教任務代碼問題
?function?clearText(){ ????????var?content?=?document.getElementById("content"); ????????var?node?=?content.childNodes; ????????var?n?=?node.length; ????????alert(n); ????????for(var?i=0;i<n;i++){ ????????????content.removeChild(node[i]); ????????} ????} </script>
為何不能一次性刪除,我在進入循環(huán)之前已經(jīng)用var node和var n 保存了長度和原數(shù)組了,為什么node在循環(huán)里的長度還是在變化,有點想不明白,求指教。
2016-12-03
<script type="text/javascript">
function clearText(){
? ? ? ? var content = document.getElementById("content");
? ? ? ? var node = content.childNodes;
? ? ? ? for(var i=0;i<node.length;i++){
? ? ? ? ? ? content.removeChild(node[i]);
? ? ? ? ? ? i--;
? ? ? ? }
? ? }
因為childNodes獲得子節(jié)點的數(shù)據(jù)時實時的,也就是說你減一個,它的長度也會減一。后面那個循環(huán)的時候i每次加一,長度減一。就相當于每次減了2個,所以導致你的n第一次是5,第二次是2。這中情況。所以每次循環(huán)把多減掉的一加上取就可以。 ?這是我的理解。