为了账号安全,请及时绑定邮箱和手机立即绑定

为啥要写两次previousSibling才会输出上一个节点?

var y=x.previousSibling.previousSibling; document.write(y.nodeName+"
"+y.innerHTML); 

为啥要写两次previousSibling才会输出上一个?

正在回答

3 回答

我懂了,赋值y的时候没调用函数  好尴尬~

0 回复 有任何疑惑可以回复我~

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);

上面的函数应该就过滤掉空白符了吧

0 回复 有任何疑惑可以回复我~

元素内的空白字符被视作文本,而文本被视作节点。

请在两个 <li> 元素之间添加空格,结果将是 "undefined"。

删除文本中的的空白符看看。。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为啥要写两次previousSibling才会输出上一个节点?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信