為什么把i的初始值設(shè)成零,第一次點(diǎn)沒(méi)有反應(yīng),第二次點(diǎn)連續(xù)清除了兩個(gè)。然后把i設(shè)成1的時(shí)候,點(diǎn)一下就一次清除全部了
function clearText() {
? var content=document.getElementById("content");
? // 在此完成該函數(shù)
? for(var i=1;i<content.childNodes.length;i++){
? ? ?content.removeChild(content.childNodes[i]);
? }
??
}
2018-06-05
如上圖,這段代碼中每一行后都有空白,所以在content.childNodes數(shù)組中是這樣的:
[空白節(jié)點(diǎn),h1,空白節(jié)點(diǎn),h1,空白節(jié)點(diǎn),h1,空白節(jié)點(diǎn),h1,空白節(jié)點(diǎn),h1,空白節(jié)點(diǎn)]
所以當(dāng)你設(shè)置i為1時(shí),content會(huì)將5個(gè)h1節(jié)點(diǎn)全部刪除,在網(wǎng)頁(yè)上顯示的就是全部刪除,其實(shí)還留下了6個(gè)空白節(jié)點(diǎn)。
如果你把上述代碼改成
<div id="content"><h1>html</h1><h1>php</h1><h1>javascript</h1><h1>jquery</h1><h1>java</h1></div>
其中沒(méi)有任何換行,接著你再將i設(shè)置為1后會(huì)發(fā)現(xiàn)并不能一次將所有的子節(jié)點(diǎn)全部刪除
2018-06-01
?for(var i=content.childNodes.length-1;i>0;i--)。比如有0-10個(gè)子節(jié)點(diǎn),如果從0開始刪除節(jié)點(diǎn),節(jié)點(diǎn)變?yōu)?-9。但是你第二次i變?yōu)榱?。原來(lái)的第0個(gè)就沒(méi)刪了。循環(huán)下去的。所以建議從最大的節(jié)點(diǎn)值開始刪除。