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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript進階篇的9-14節(jié)里面的問題

JavaScript進階篇的9-14節(jié)里面的問題

巽易3821995 2016-10-09 18:15:00
試過是倒著刪可以,順著不行,然后看下面評論說是因為刪除之后下面的節(jié)點自動排上來,會刪一個漏幾個,那么原來的var?childNode?=?content.childNodes[i]; content.removeChild(childNode);如果我把i改成1var?childNode?=?content.childNodes[1]; content.removeChild(childNode);結果還是會漏,到底是怎么一回事呢?這個實在搞不懂,后來我也試過把body里面的標簽合成一排,怕可能是h1之間也算節(jié)點的問題,結果還是這樣,我把循環(huán)的i<content.childNodes.length加了幾個循環(huán)下去倒是能一次刪掉。
查看完整描述

1 回答

已采納
?
stone310

TA貢獻361條經(jīng)驗 獲得超191個贊

主要是因為length是根據(jù)刪除節(jié)點后不斷變化的;

如果正著寫:

for(var?i=0;i<content.childNodes.length;i++){??//如果for循環(huán)這么寫

我先假設你content.childNodes.length為5,以下用length表示;
i=0時,i<content.childNodes.length(也就是i<5),i++,執(zhí)行content.removeChild(childNode);這時因為刪除了一個節(jié)點,所以content.childNodes.length為5-1=4;
i=1時,i<4,執(zhí)行刪除語句;這時length為4-1=3;
i=2時,i<3,執(zhí)行刪除語句;這時length為3-1=2;
i=3時,i<2,false,不執(zhí)行,退出循環(huán);
因此只要for循環(huán)正著寫,如果length為5,for循環(huán)里面的語句只能執(zhí)行3次,自然不能一次清除;
如果倒著寫:

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

當你點擊觸發(fā),i的值是content.childNodes.length-1,條件是只要i>=0,就可以執(zhí)行語句,因此這里i能執(zhí)行到i=0;

因此倒著寫這種寫法下點擊按鈕所有節(jié)點全部刪除


查看完整回答
反對 回復 2016-10-09
  • 巽易3821995
    巽易3821995
    嗯,length也跟著變,忘了考慮這塊,謝謝大神
  • 1 回答
  • 0 關注
  • 1065 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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