问答详情
源自:9-11 访问兄弟节点

为什么我的和别人代码几乎一样但是出不来结果?

<!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_nextSibling(n){

        var x=n.nextSibling;

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

            x=x.nextSibling;

        }

        return x;

    }


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

    document.write(x.nodeName);

    document.write(" = ");

    document.write(x.innerHTML);

    

    var y=get_nextSibling(x);

    

    if(y!=null){

        document.write("<br />nextsibling: ");

        document.write(y.nodeName);

        document.write(" = ");

        document.write(y.innerHTML);

    }else{

      document.write("<br>已经是最后一个节点");      

    }


    function get_previousSibling(n){

        var a=n.previousSibling;

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

            a=a.previousSibling;

        }

        return a;

    }

    

    var a=document.getElementsByTagName("li")[4];

    

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

    

    var b=get_previousSibling(a);

    

    if(b!=null){

        document.write("<br/>previoussibling:"+

        b.nodeName+" = "+b.innerHTML);

    }else{

        document.write("<br/>已经是第一个节点");

    }

</script>

</body>

</html>

http://img.mukewang.com/5e36a19e0001d88107670411.jpg

我和高赞同学的代码几乎一样,可是我运行的时候一个结果都显示不出来,把他的代码复制过来就都能显示,把我自己写的第二个方法部分去掉后也可以显示出第一个方法的结果........我写的到底哪里出问题了呀....

提问者:Aurora_Meteor 2020-02-02 18:19

个回答

  • 慕仔8517113
    2020-03-17 11:18:43

    最后一个分号错了,可以跟别人的代码做参照,一步步用正确的代替自己的,缩小范围就好找了。然后吸取教训。

  • 慕圣大越越
    2020-02-19 11:32:15

    我自己刚才页弄了半天,结果发现自己else后面多了一个},就出不来结果,去掉了就出来了。不知道你是什么原因,估计也是中英文符号什么的错了或者多了