慕粉0943041209
2017-04-23 22:32
var y=x.previousSibling.previousSibling;
document.write(y.nodeName+"
"+y.innerHTML);
为啥要写两次previousSibling才会输出上一个?
我懂了,赋值y的时候没调用函数 好尴尬~
function get_previousSibling(n){
var x=n.previousSibling;
while(x.nodeType!=1){
x=x.previousSibling;
}
return x;
}
var x=document.getElementsByTagName("li")[1];
document.write(x.nodeName+"<br />"+x.innerHTML+"<br .>");
var y=x.previousSibling.previousSibling;
document.write(y.nodeName+"<br />"+y.innerHTML);
上面的函数应该就过滤掉空白符了吧
元素内的空白字符被视作文本,而文本被视作节点。
请在两个 <li> 元素之间添加空格,结果将是 "undefined"。
删除文本中的的空白符看看。。
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题