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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

想依次輸出被刪除內(nèi)容,結(jié)果是undefined,錯(cuò)在哪?

<div id="content">


? <h1>html</h1>


? <h1>php</h1>


? <h1>javascript</h1>


? <h1>jquery</h1>


? <h1>java</h1>


</div>


<script type="text/javascript">


function clearText() {


? var content=document.getElementById("content");


? // 在此完成該函數(shù)


? for(var i=0;i<content.childNodes.length;i++){


? ? ? var x=content.removeChild(content.childNodes[i]);


? ? ? document.write("被移除的內(nèi)容是:"+x.innerHTML+"<br>");? ? ? //這一句的問(wèn)題在哪里????


? }


}


</script>


運(yùn)行結(jié)果:


被移除的內(nèi)容是:undefined

被移除的內(nèi)容是:undefined

被移除的內(nèi)容是:undefined

被移除的內(nèi)容是:undefined

被移除的內(nèi)容是:undefined

被移除的內(nèi)容是:undefined


正在回答

3 回答

for(var i=0;i<content.childNodes.length;i++) 你應(yīng)該從后面的元素的刪除起, 而不是 前面.?

0 回復(fù) 有任何疑惑可以回復(fù)我~

我也被這個(gè)難到了

0 回復(fù) 有任何疑惑可以回復(fù)我~

自答。

因?yàn)樵贑hrome,F(xiàn)irefox等瀏覽器看來(lái),HTML代碼寫(xiě)在一行和分多行是有區(qū)別的,上述HTML部分實(shí)際上存在空節(jié)點(diǎn),如圖片:

https://img1.sycdn.imooc.com//5b9f6ef40001ecd706960344.jpg

空節(jié)點(diǎn)是不具有innerHTML屬性,其次在循環(huán)的同時(shí),數(shù)組的長(zhǎng)度在改變,這就難以得到正確結(jié)果。

正確做法之一是,將非空節(jié)點(diǎn)存在新數(shù)組中,然后處理新數(shù)組元素:

<div?id="content">
<h1>html</h1>
<h1>php</h1>
<h1>javascript</h1>
<h1>jquery</h1>
<h1>java</h1>
</div>

<script?type="text/javascript">
function?clearText()?{
var?content=document.getElementById("content");
var?childArr?=?content.childNodes;

//篩選出元素節(jié)點(diǎn)(新數(shù)組里不再有空節(jié)點(diǎn))
var?eleNodeArr?=?new?Array();
for(var?i=0;i<childArr.length;i++){
????if(childArr[i].nodeType==1){
????????var?x?=?eleNodeArr.push(childArr[i]);//將元素節(jié)點(diǎn)存入新數(shù)組
????}
}

//???依次刪除元素節(jié)點(diǎn)
????for?(var?i=0;eleNodeArr.length;?i++)?{
????????????var?y?=?content.removeChild(eleNodeArr[i]);
????????????document.write("被刪除的內(nèi)容為:"+y.innerHTML+"<br>");//注意,這里不能用eleNodeArr[i]代替y
????????}
??}
??</script>
??<button?onclick="clearText()">清除節(jié)點(diǎn)內(nèi)容</button>


1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

專注程序不可自拔

你好,看了你的代碼,很好奇var x = eleNodeArr.push(childArr[i]);這一句將篩選完的數(shù)組存到x中,為什么下面不使用x呢
2018-10-24 回復(fù) 有任何疑惑可以回復(fù)我~
#2

PaulPierce 回復(fù) 專注程序不可自拔

push 方法 返回的是 數(shù)組 長(zhǎng)度. 所以x是長(zhǎng)度. 沒(méi)啥用.
2019-01-03 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
JavaScript進(jìn)階篇
  • 參與學(xué)習(xí)       468768    人
  • 解答問(wèn)題       22442    個(gè)

本課程從如何插入JS代碼開(kāi)始,帶您進(jìn)入網(wǎng)頁(yè)動(dòng)態(tài)交互世界

進(jìn)入課程

想依次輸出被刪除內(nèi)容,結(jié)果是undefined,錯(cuò)在哪?

我要回答 關(guān)注問(wèn)題
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)