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