第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么是for(var i=x.childNodes.length-1;i>=0;i--)

function clearText() {

? var x=document.getElementById("content");

? for(var i=x.childNodes.length-1;i>=0;i--){

? ? ? var childNode=x.childNodes[i];

? ? ? x.removeChild(childNode);

? } ?

}


正在回答

1 回答

?for(var i=x.childNodes.length-1;i>=0;i--)這句是要倒著刪除,這個應該能理解吧

這個練習題正著刪除倒著刪除都能做,倒著刪除相比不用考慮太多,正常寫就好,因為總是從最后一個刪除,正著刪除的話需要從第一個刪除,也就是

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

? ? ? var childNode=x.childNodes[0];//總從第一個刪除

? ? ? x.removeChild(childNode);

? }

如果按

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

? ? ? var childNode=x.childNodes[i];

? ? ? x.removeChild(childNode);

? } ?

這種寫法,會漏刪,導致一次刪不干凈。

比如childNode讀出來{h1,h2,h3,h4,h5}

然后i=0,刪了h1,沒問題,繼續(xù)

i=1,此時childNode變成了{h2,h3,h4,h5},刪除childNode[1],就是刪除了h3

這里就看出來了吧,會漏刪,i=3的時候就沒東西可刪了,然后這次循環(huán)就結束了,但是還有h2,h4被漏下來了。


3 回復 有任何疑惑可以回復我~
#1

kuban

更正一下,如果a=x.childNodes.length,for(var i=0;i<a;i++)這種寫法,i=3時沒東西刪,就停住了 for(var i=0;i<x.childNodes.length;i++)這種寫法,i=3時,x.childNodes.length=2,退出循環(huán)了。 childNode讀出來的內容是我為了看的清楚假設的,實際IE下是{h1,h1,h1,h1,h1},其他瀏覽器是{text,h1,text,h1,text,h1,text,h1,text,h1,}
2016-04-27 回復 有任何疑惑可以回復我~
#2

listenlo 提問者

非常感謝!
2016-04-28 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么是for(var i=x.childNodes.length-1;i>=0;i--)

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號