程序愛(ài)好者11
2015-06-02 11:42:05
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>nextSibling</title></head><body><ul id="u1"> ??? ? ? ? ? ? <li id="a">javascript</li> ??? ? ? ? ? ? <li id="b">jquery</li> ??? ? ? ? ? ? <li id="c">html</li> ??? ? ? ? </ul> ??? ? ? ? <ul id="u2"> ??? ? ? ? ? ? <li id="d">css3</li> ??? ? ? ? ? ? <li id="e">php</li> ??? ? ? ? ? ? <li id="f">java</li> ??? ? ? ? </ul> ??<script type="text/javascript">? ? function get_previousSibling(n){ ? ? ??? ? ? ? var x=n.previousSibling;? ? ? ? while (x && x.nodeType!=1){ ? ? ? ? //這個(gè)循環(huán)我怎么理解是 條件判斷 不能等于1(元素),如果等于1就跳過(guò),但是答案正好相反 ? 迷不過(guò)來(lái)這個(gè) ?哎,求解答? ? ? ? ? ???x=x.previousSibling; ? ?? ? ? ? }? ? ? ? return x;? ? }? ? var x=document.getElementsByTagName("li")[1];? ? 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)是最后一個(gè)節(jié)點(diǎn)"); ? ? ?? ? }</script></body></html>
2 回答
已采納

Perona
TA貢獻(xiàn)355條經(jīng)驗(yàn) 獲得超403個(gè)贊
首先要明白nodeType屬性。
nodeType 屬性返回以數(shù)字值返回指定節(jié)點(diǎn)的節(jié)點(diǎn)類型。
如果節(jié)點(diǎn)是元素節(jié)點(diǎn),則 nodeType 屬性將返回 1。
如果節(jié)點(diǎn)是屬性節(jié)點(diǎn),則 nodeType 屬性將返回 2。
那這個(gè)條件是什么意思呢?即存在x(n的兄弟節(jié)點(diǎn))并且x(n的兄弟節(jié)點(diǎn))類型不是元素節(jié)點(diǎn)。
x ? ? ? ?&& ? ? x.nodeType ? ? != ? ? ? ? ? ? 1
?↓ ? ? ? ?↓ ? ? ? ? ? ?↓ ? ? ? ? ? ? ? ? ? ? ↓ ? ? ? ? ? ? ? ?↓?
存在x ?并且 ? ? x節(jié)點(diǎn)類型 ? ? ? 不是 ? ? ? ?元素節(jié)點(diǎn)
點(diǎn)擊展開(kāi)后面1條
添加回答
舉報(bào)
0/150
提交
取消