function get_previousSibling(x){ var x=x.previousSibling; while(x&&x.nodeType!=1){ x=x.previousSibling; } return x } var x=document.getElementsByTagName("li")[3]; document.write("<br>"+"<br>"+x.nodeName); document.write("=") document.write(x.innerHTML); var a=get_previousSibling(x) if(a!=null){ document.write("<br />previoussibling: "); document.write(a.nodeName); document.write("=") document.write(a.innerHTML); } else{ document.write("<br>已经是最后一个节点"); }
为什么这里“var x=document.getElementsByTagName("li")[3];” 写3的时候,输出是
“LI=css3
已经是最后一个节点”
之前的空白节点不是已经筛选过了吗?,那应该是“html”才对啊。
难道我筛选的函数写错了?
你应该写2,document.getElementByTagName()返回的是一个数组,数组来算的话你想要"html",下标就要是写2了。从0开始算。。。。