為什么是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);
? } ?
}
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);
? } ?
}
2016-04-27
舉報(bào)
2016-04-27
?for(var i=x.childNodes.length-1;i>=0;i--)這句是要倒著刪除,這個(gè)應(yīng)該能理解吧
這個(gè)練習(xí)題正著刪除倒著刪除都能做,倒著刪除相比不用考慮太多,正常寫就好,因?yàn)榭偸菑淖詈笠粋€(gè)刪除,正著刪除的話需要從第一個(gè)刪除,也就是
for(var i=0;i<x.childNodes.length;i++){
? ? ? var childNode=x.childNodes[0];//總從第一個(gè)刪除
? ? ? x.removeChild(childNode);
? }
如果按
for(var i=0;i<x.childNodes.length;i++){
? ? ? var childNode=x.childNodes[i];
? ? ? x.removeChild(childNode);
? } ?
這種寫法,會(huì)漏刪,導(dǎo)致一次刪不干凈。
比如childNode讀出來(lái){h1,h2,h3,h4,h5}
然后i=0,刪了h1,沒(méi)問(wèn)題,繼續(xù)
i=1,此時(shí)childNode變成了{(lán)h2,h3,h4,h5},刪除childNode[1],就是刪除了h3
這里就看出來(lái)了吧,會(huì)漏刪,i=3的時(shí)候就沒(méi)東西可刪了,然后這次循環(huán)就結(jié)束了,但是還有h2,h4被漏下來(lái)了。