課程
/前端開發(fā)
/JavaScript
/JavaScript進(jìn)階篇
我看示例代碼,開始x = n.nextSibling;后來在while循環(huán)里 x=x.nextSibling又來一次,這樣的話不是變成n的下一個(gè)的下一個(gè)了嗎
2017-02-19
源自:JavaScript進(jìn)階篇 9-11
正在回答
function?get_nextSibling(n){ ????????var?x=n.nextSibling; ????????while?(x?&&?x.nodeType!=1){//當(dāng)x存在且x不是元素節(jié)點(diǎn)時(shí),會(huì)執(zhí)行下面的循環(huán)語句 ????????????x=x.nextSibling;//滿足上述條件,則繼續(xù)查找下一個(gè)節(jié)點(diǎn),直至找到nodeType值為1的元素節(jié)點(diǎn),則繼續(xù)執(zhí)行函數(shù),return?x ????????} ????????return?x; ????}
答案我寫成標(biāo)注了
var x=n.nextSibling;
? ? ? ? while (x && x.nodeType!=1){
? ? ? ? ? ? x=x.nextSibling;
? ? ? ? }
? ? ? ? return x;
是這里的是吧 ?while這里的第二個(gè)是只有在第一個(gè)nextSibling的節(jié)點(diǎn)不符合條件(要求為兄弟節(jié)點(diǎn) 比如說是#text就不是本例中的li的兄弟節(jié)點(diǎn))不符合的時(shí)候才執(zhí)行while里即第二個(gè)nextSibling ?符合要求的話 會(huì)直接到return x
舉報(bào)
本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動(dòng)態(tài)交互世界
3 回答兩次分割為什么不能連續(xù)進(jìn)行,為什么在第一次分割之后要再次轉(zhuǎn)換成字符串
1 回答連續(xù)兩次的話,第二次為什么就沒有對話框彈出來了呢?
3 回答為什么要設(shè)置兩次setTimeout
2 回答為什么連續(xù)點(diǎn)了四次 才全部清除完?
1 回答連用兩次indexOf
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-03-27
答案我寫成標(biāo)注了
2017-02-20
var x=n.nextSibling;
? ? ? ? while (x && x.nodeType!=1){
? ? ? ? ? ? x=x.nextSibling;
? ? ? ? }
? ? ? ? return x;
是這里的是吧 ?while這里的第二個(gè)是只有在第一個(gè)nextSibling的節(jié)點(diǎn)不符合條件(要求為兄弟節(jié)點(diǎn) 比如說是#text就不是本例中的li的兄弟節(jié)點(diǎn))不符合的時(shí)候才執(zhí)行while里即第二個(gè)nextSibling ?符合要求的話 會(huì)直接到return x