暮女神
2016-12-24 16:37
<!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”,这和父节点有关系吗?如果有,规则是什么?
麻烦各位大神帮忙看下
return x;//你把局部变量改了之后,函数里面的都要相应改,应该是return z var a=document.getElementsByTagName("li")[3];//这里获得的是第二个ul下的第一个li,他上一个兄弟节点是没有的,看下定义 previousSibling 属性可返回某个节点之前紧跟的节点(处于同一树层级中)括号内解释的很清楚,是吧
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题