明明有上一個(gè)節(jié)點(diǎn)的,結(jié)果卻是“已經(jīng)是第一個(gè)節(jié)點(diǎn)了”
<!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_nextSibling(n){ ????????var?x=n.nextSibling; ????????while?(x?&&?x.nodeType!=1){ ????????????x=x.nextSibling; ????????} ????????return?x; ????} ????var?x=document.getElementsByTagName("li")[0]; ????document.write(x.nodeName); ????document.write("?=?"); ????document.write(x.innerHTML); ???? ????var?y=get_nextSibling(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)");?????? ????} ???? ????//?獲取上一個(gè)節(jié)點(diǎn)代碼開始 ????function?get_previousSibling(n){ ????????var?x=n.previousSibling; ????????while?(x?&&?x.nodeType?!=?1){ ????????????x=x.previousSibling; ????????} ????????return?x; ????} ????var?li5?=?document.getElementsByTagName("li")[4]; ????document.write("<br/><br/>"?+?li5.nodeName); ????document.write("?=?"); ????document.write(li5.innerHTML); ????var?node?=?get_previousSibling(a); ????if(node?!=?null){ ????????document.write("<br/>previousSibling:"); ????????document.write(node.nodeName); ????????document.write("?=?"); ????????document.write(node.innerHTML); ????}else{ ????????document.write("<br/>已經(jīng)是第一個(gè)節(jié)點(diǎn)了"); ????} ???? </script> </body> </html>
為什么明明上一個(gè)節(jié)點(diǎn)是css的,結(jié)果卻是“已經(jīng)是第一個(gè)節(jié)點(diǎn)了”?問(wèn)題出在哪里?請(qǐng)大神指教
2014-12-25
為什么第7行要返回 li5啊
2014-12-06
暈,原來(lái)是自己傳參傳錯(cuò)了,正確的代碼應(yīng)該是這樣的: