不懂x.nodeType!=1
x.nodeType!=1不就是說x不是元素節(jié)點(diǎn)了嗎?x.nodeType==1才是元素節(jié)點(diǎn)啊?那為什么while里面的(x.nodeType!=1)就把x的下一個(gè)節(jié)點(diǎn)賦給x。既然x不是元素節(jié)點(diǎn)了,那應(yīng)該直接輸出,當(dāng)滿足x.nodeType=1的時(shí)候才應(yīng)該x=x.nextSibling
x.nodeType!=1不就是說x不是元素節(jié)點(diǎn)了嗎?x.nodeType==1才是元素節(jié)點(diǎn)啊?那為什么while里面的(x.nodeType!=1)就把x的下一個(gè)節(jié)點(diǎn)賦給x。既然x不是元素節(jié)點(diǎn)了,那應(yīng)該直接輸出,當(dāng)滿足x.nodeType=1的時(shí)候才應(yīng)該x=x.nextSibling
2016-07-25
舉報(bào)
2020-05-21
nodeType值=1,代表是元素節(jié)點(diǎn),目標(biāo)就是元素節(jié)點(diǎn)
while (x && x.nodeType!=1) 這里面,有兩個(gè)條件,一個(gè)是(x),表示為真。另一個(gè)條件是x.nodeType != 1,表示
當(dāng)nodeType不為1,也就是當(dāng)不是元素節(jié)點(diǎn)時(shí),x=x.nextSibling; 要再跳到下一個(gè),兄弟節(jié)點(diǎn)。當(dāng)然,這個(gè)兄弟節(jié)點(diǎn),也有可能不為1,那么,再跳下個(gè)。直到nodeType==1時(shí)。。。。
2018-05-29
我也不懂為什么? 要這樣寫這句判斷
2018-05-29
2017-08-07
我跟你一樣的疑惑,你弄懂了嗎?
2016-08-08
“x不是元素節(jié)點(diǎn)了,那應(yīng)該直接輸出“。這句話什么意思啊 ,x不是元素節(jié)點(diǎn)的不是應(yīng)該繼續(xù)找嗎 因?yàn)橐业氖窃毓?jié)點(diǎn)啊
2016-07-25
function get_nextSibling(n){? //返回下一個(gè)元素節(jié)點(diǎn) ? ??
var x=n.nextSibling; //定義X為下一個(gè)節(jié)點(diǎn)
while (x && x.nodeType!=1){ ??//不是元素節(jié)點(diǎn)及節(jié)點(diǎn)不為空就繼續(xù)尋找下一個(gè),是元素節(jié)點(diǎn)就跳出循環(huán)
x=x.nextSibling;? ? ? ?
}
return x; //返回節(jié)點(diǎn)
}?
假如節(jié)點(diǎn)信息(nodeType)如下 : 1 3 1 3 1 3
假如現(xiàn)在是第一個(gè)1,找下一個(gè)1,那么X初值nodeType為3的節(jié)點(diǎn),滿足循環(huán)條件繼續(xù)執(zhí)行,X變?yōu)?nodeType為1的節(jié)點(diǎn),不滿足循環(huán)條件,跳出循環(huán),返回節(jié)點(diǎn)(得到元素節(jié)點(diǎn))。