課程
/前端開(kāi)發(fā)
/JavaScript
/JavaScript進(jìn)階篇
這是為什么呢
2018-08-28
源自:JavaScript進(jìn)階篇 9-14
正在回答
對(duì)了,我剛試過(guò),我建議你這樣可以一次刪除所有元素:
var?content?=?document.getElementById("content"); var?h1s=?content.childNodes; var?length?=?h1s.length; for(var?i?=?0;?i<length;?i++) { ????content.removeChild(h1s[0]); ?} ?這樣就可以一直移除第一個(gè)節(jié)點(diǎn)了。移除11次。
因?yàn)橄聵?biāo)更新了.
用b代表空白節(jié)點(diǎn),那么ul之間的節(jié)點(diǎn)序列應(yīng)該是:
b html b php b javascript b jquery b java b
第一次刪除時(shí),刪除0號(hào)節(jié)點(diǎn)b,剩余html b php b javascript b jquery b java b
第二次刪除時(shí),刪除1號(hào)節(jié)點(diǎn)b,由于此時(shí)節(jié)點(diǎn)已經(jīng)更新, html變成0號(hào)節(jié)點(diǎn),刪除的還是html后面的節(jié)點(diǎn)b。與此同時(shí),<li>標(biāo)簽節(jié)點(diǎn)的值也在增加,html變成0號(hào),php變成1號(hào),javascript變成2號(hào)節(jié)點(diǎn),以此類推.因此第一次刪除的是所有的空格。第二次刪除html javascript java第三次刪除js,第四次刪除jquery.
也就是隔山打牛.
你應(yīng)該把4改為content.childNodes.length,因?yàn)樗麑?shí)際上不止4個(gè)節(jié)點(diǎn),在子節(jié)點(diǎn)中兩個(gè)標(biāo)簽之間的空格或換行都被解析為一個(gè)子節(jié)點(diǎn)(文本節(jié)點(diǎn))。比如:
<ul>
<li>慕課網(wǎng)</li>
</ul>
這一段代碼就有3個(gè)子節(jié)點(diǎn)了
你的運(yùn)行結(jié)果是只有 html 和php被刪了嗎 如果是的話 加一個(gè)判定條件應(yīng)該就好了
for(var i=content.childNodes.length-1;i>=0;i--){
var x=content.childNodes;
?if(x[i].nodeType==1){
content.removeChild(x[i]);
}
}
因?yàn)閏ontent 的長(zhǎng)度其實(shí)是 11 不是 4 其中包括了幾個(gè)空白節(jié)點(diǎn)
瀏覽器兼容問(wèn)題,節(jié)點(diǎn)之間的空白符,在firefox、chrome、opera、safari瀏覽器是文本節(jié)點(diǎn)
舉報(bào)
本課程從如何插入JS代碼開(kāi)始,帶您進(jìn)入網(wǎng)頁(yè)動(dòng)態(tài)交互世界
1 回答求求大神解答
2 回答求大神解答
3 回答求大神解答?
1 回答求大神解答
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-09-13
對(duì)了,我剛試過(guò),我建議你這樣可以一次刪除所有元素:
2018-09-13
因?yàn)橄聵?biāo)更新了.
用b代表空白節(jié)點(diǎn),那么ul之間的節(jié)點(diǎn)序列應(yīng)該是:
b html b php b javascript b jquery b java b
第一次刪除時(shí),刪除0號(hào)節(jié)點(diǎn)b,剩余html b php b javascript b jquery b java b
第二次刪除時(shí),刪除1號(hào)節(jié)點(diǎn)b,由于此時(shí)節(jié)點(diǎn)已經(jīng)更新, html變成0號(hào)節(jié)點(diǎn),刪除的還是html后面的節(jié)點(diǎn)b。與此同時(shí),<li>標(biāo)簽節(jié)點(diǎn)的值也在增加,html變成0號(hào),php變成1號(hào),javascript變成2號(hào)節(jié)點(diǎn),以此類推.因此第一次刪除的是所有的空格。第二次刪除html javascript java第三次刪除js,第四次刪除jquery.
也就是隔山打牛.
2018-09-09
你應(yīng)該把4改為content.childNodes.length,因?yàn)樗麑?shí)際上不止4個(gè)節(jié)點(diǎn),在子節(jié)點(diǎn)中兩個(gè)標(biāo)簽之間的空格或換行都被解析為一個(gè)子節(jié)點(diǎn)(文本節(jié)點(diǎn))。比如:
<ul>
<li>慕課網(wǎng)</li>
</ul>
這一段代碼就有3個(gè)子節(jié)點(diǎn)了
2018-09-09
你的運(yùn)行結(jié)果是只有 html 和php被刪了嗎 如果是的話 加一個(gè)判定條件應(yīng)該就好了
for(var i=content.childNodes.length-1;i>=0;i--){
var x=content.childNodes;
?if(x[i].nodeType==1){
content.removeChild(x[i]);
}
}
因?yàn)閏ontent 的長(zhǎng)度其實(shí)是 11 不是 4 其中包括了幾個(gè)空白節(jié)點(diǎn)
2018-08-31
瀏覽器兼容問(wèn)題,節(jié)點(diǎn)之間的空白符,在firefox、chrome、opera、safari瀏覽器是文本節(jié)點(diǎn)