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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

輸出第一個元素的前一個元素,沒有提示?

<script type="text/javascript">

? ?

? ? function get_previousSibling(n){

? ? ? ? var y=n.previousSibling;

? ? ? ? document.write(y.nodeType);

? ? ? ? while (y && y.nodeType!=1){

? ? ? ? ? ? y=y.previousSibling;

? ? ? ? ? ? document.write(y.nodeType);

? ? ? ? }

? ? ? ? return y;

? ? }

? ? var x=document.getElementsByTagName("li")[0];

? ? //document.write(x.nodeName);

? ? //document.write(" = ");

? ? //document.write(x.innerHTML);

? ??

? ? var y=get_previousSibling(x);

? ??

? ? if(y!=null){

? ? ? ? document.write("<br />nextsibling: ");

? ? ? ? document.write(y.nodeName);

? ? ? ? document.write(" = ");

? ? ? ? document.write(y.innerHTML);

? ? }else{

? ? ? document.write("<br>已經(jīng)是第一個節(jié)點(diǎn)");? ? ??

? ? }


</script>

為啥沒執(zhí)行“這是第一個元素”的輸出?

正在回答

3 回答

function get_previousSibling(n){

? ? ? ? var y=n.previousSibling;//這里獲取是前面的空格

? ? ? ? document.write(y.nodeType);//所以這個會打印一個3

? ? ? ? while (y && y.nodeType!=1){

? ? ? ? ? ? y=y.previousSibling;//在獲取空格前邊的節(jié)點(diǎn),已經(jīng)沒有了,會返回null

? ? ? ? ? ? document.write(y.nodeType);//所以這里便是null,已經(jīng)不是節(jié)點(diǎn)了? 所以不存在節(jié)點(diǎn)類型的,

? ? ? ? }

? ? ? ? return y;//等于y是null? 所以下邊結(jié)果是已經(jīng)是第一個節(jié)點(diǎn)了

? ? }


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

console.log(y);??沒看懂呢

但是我發(fā)現(xiàn):我加的這?? document.write(y.nodeType);??一行打印y類型的語句,沒有運(yùn)行;另外把這句注釋里就正常了哎,什么情況呢?

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

報錯了?

while?(y?&&?y.nodeType!=1){????????????
????y=y.previousSibling;????????????
????console.log(y);??//?加上這行看看這個y是什么
????document.write(y.nodeType);????????
}

如果你的li前面已經(jīng)沒有元素了,應(yīng)該會報錯才對。第一個li的previousSibling是#text,#text的previousSibling是null,null.nodeType自然就報錯了。

知道問題原因了,解決辦法就自己想想吧~

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

舉報

0/150
提交
取消

輸出第一個元素的前一個元素,沒有提示?

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

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

幫助反饋 APP下載

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

公眾號

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