显示Cannot read property 'previousSibling' of undefined?

来源:9-11 访问兄弟节点

LovingVIVI

2017-02-22 12:05

<!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 x=x.previousSibling;

    while(x&&x.nodeType!=1){

        x=x.previousSibling;

    }

    return x;

}//构造一个判断x的previousSibling是不是元素节点的函数

x=document.getElementsByTagName("li")[2];

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

var y=get_previousSibling(x);

if(y!=null){

    document.write(x+"的上一个元素节点:"+y.nodeName+"="+y.innerHTML);

}

else{

    document.write(x+"是最后一个元素节点");

}

</script>

</body>

</html>

为什么输出上一个节点就不行了?哪里出问题了

写回答 关注

1回答

  • qq_Lily
    2017-02-22 14:33:56
    已采纳

    get_previousSibling(n)函数内部var x=n.nextSibling;而不是var x=x.nextSibling;

    Loving...

    非常感谢!

    2017-03-01 09:41:10

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468196 学习 · 21891 问题

查看课程

相似问题