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

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

一直捋不順方法里對(duì)X的賦值,為什么要兩次賦值呢?在IE中不會(huì)變成下兩個(gè)節(jié)點(diǎn)么?

?function get_nextSibling(n){

? ? ? ? var x=n.nextSibling;

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

? ? ? ? ? ? x=x.nextSibling;

? ? ? ? }

? ? ? ? return x;

? ? }


正在回答

5 回答

?function get_nextSibling(n){

? ? ? ??var x=n.nextSibling; ------------> 這里是檢測(cè)又沒有下一個(gè)兄弟節(jié)點(diǎn),無則賦null值

【說明下:1.這個(gè)x有可能返回的是空格符即為文本節(jié)點(diǎn),nodeTpye=3;2.這個(gè)x有可能是返回null】

? ? ? ? while (x && x.nodeType!=1){ ----------> 當(dāng)有下一個(gè)兄弟節(jié)點(diǎn)但他的兄弟節(jié)點(diǎn)不是元素節(jié)點(diǎn)

? ? ? ??? ? x=x.nextSibling; ?-------->則繼續(xù)讀一下個(gè)子節(jié)點(diǎn),并賦值給x

? ? ? ? }

? ? ? ? return x;----------->返回第一次調(diào)用函數(shù)的值(可能是文本節(jié)點(diǎn),nodeType=3,也可能是null)

? ? }


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

慕蓋茨2022422 提問者

非常感謝!
2016-09-12 回復(fù) 有任何疑惑可以回復(fù)我~

首先,我們是需要確定x為n這個(gè)參數(shù)的下一個(gè)兄弟元素,并且要求它為元素節(jié)點(diǎn),這樣可以避免因?yàn)闉g覽器問題導(dǎo)致的空白文本節(jié)點(diǎn),因此,用了while循環(huán),x && x.nodeType!=1,是判斷x是否存在,并且type是不是“不是1”

如果是“不是1”,則執(zhí)行下面語句,x=x.nextSibling;,目的是跳過“不是1”的空白文本節(jié)點(diǎn)


如果是“是1”,則確定它為元素節(jié)點(diǎn),不需要跳過,返回值為最初賦值的var x=n.nextSibling;,因?yàn)榻?jīng)過了while的判斷,此時(shí)的x.nodeType肯定是1,因而肯定是元素節(jié)點(diǎn)

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

我想我們是被判斷節(jié)點(diǎn)nodeType是否為1, 如是為元素節(jié)點(diǎn),跳過這句話搞錯(cuò)了,我個(gè)人認(rèn)為這句話是錯(cuò)的,因?yàn)槲覀兊膎是一個(gè)元素節(jié)點(diǎn),所以它的下一個(gè)兄弟節(jié)點(diǎn)肯定也是一個(gè)元素節(jié)點(diǎn),而元素節(jié)點(diǎn)的類型是1,while(x&&x.nodeType!=1){x=x.nextSibling;}這句話是當(dāng)x的nextSibling不是元素節(jié)點(diǎn)的話,他就繼續(xù)往下遍歷,直至到最后一個(gè)兄弟節(jié)點(diǎn)。

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

慕蓋茨2022422 提問者

對(duì)沒錯(cuò)就是這個(gè)意思,就想知道為什么不是 while (x && x.nodeType==1){ x=x.nextSibling;}
2016-09-06 回復(fù) 有任何疑惑可以回復(fù)我~
#2

qq_Mark單_0

回復(fù) 革命遙遙無期我覺得就是被注意的那句話誤導(dǎo)了,只要不是元素節(jié)點(diǎn)他就是會(huì)一直往后面檢測(cè)即nextSibling,你現(xiàn)在看了http://idcbgp.cn/video/2140這頁的知識(shí)了嗎,我一直搞不清楚!
2016-09-09 回復(fù) 有任何疑惑可以回復(fù)我~
#3

Airly

為什么n是元素節(jié)點(diǎn)下一個(gè)子節(jié)點(diǎn)就一定是元素節(jié)點(diǎn)呢,下一個(gè)子節(jié)點(diǎn)也有可能是文本節(jié)點(diǎn)啊,因?yàn)槟憧疵髅骱竺婢o接的是空白的換行符,而瀏覽器默認(rèn)這個(gè)為文本節(jié)點(diǎn)。所以,那里判斷是否為元素節(jié)點(diǎn)的用途就是,如果不是元素節(jié)點(diǎn)就訪問下一個(gè)子節(jié)點(diǎn),如果是的話就返回當(dāng)前訪問到的節(jié)點(diǎn)。
2016-09-12 回復(fù) 有任何疑惑可以回復(fù)我~
#4

慕蓋茨2022422 提問者 回復(fù) qq_Mark單_0

當(dāng)X不等1的時(shí)候說明X值是一個(gè)文本(空隔)既然是個(gè)空格我們就該跳過它(讓X值為下一個(gè)兄弟節(jié)點(diǎn)),如果X=1則說明X所獲取到的值為元素就不需要繼續(xù)向下尋找了直接返回X
2016-09-12 回復(fù) 有任何疑惑可以回復(fù)我~
#5

Airly 回復(fù) 慕蓋茨2022422 提問者

是的,就是你理解的這個(gè)意思。
2016-09-12 回復(fù) 有任何疑惑可以回復(fù)我~
查看2條回復(fù)

謝謝,我還想再問一下既然X存在且不是元素那為什么還要讓它的值為下一個(gè)值呢?

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

這不是第二次賦值,只是覆蓋了之前的變量的值。

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

舉報(bào)

0/150
提交
取消

一直捋不順方法里對(duì)X的賦值,為什么要兩次賦值呢?在IE中不會(huì)變成下兩個(gè)節(jié)點(diǎn)么?

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

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

幫助反饋 APP下載

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

公眾號(hào)

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