返回的前一節點問題
<!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?z=n.previousSibling;
????????while(z?&&?z.nodeType!=1){
????????????z=z.previousSibling;
????????}
????????return?x;
????}
????var?a=document.getElementsByTagName("li")[3];
????document.write("<br/>"+a.nodeName);
????document.write("=");
????document.write(a.innerHTML);
????var?b=get_previousSibling(a);
????if(b!=null){
????????document.write("<br/>"+b.nodeName);
????????document.write("=");
????????document.write(b.innerHTML);
????}else{
????????document.write("<br/>已經是第一個節點")
????}
</script>
</body>
</html>為啥返回的是“JavaScript”而不是“html”,這和父節點有關系嗎?如果有,規則是什么?
麻煩各位大神幫忙看下
2016-12-25
return?x;//你把局部變量改了之后,函數里面的都要相應改,應該是return?z ?var?a=document.getElementsByTagName("li")[3];//這里獲得的是第二個ul下的第一個li,他上一個兄弟節點是沒有的,看下定義?previousSibling?屬性可返回某個節點之前緊跟的節點(處于同一樹層級中)括號內解釋的很清楚,是吧