求解啊?快吐血了!

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

any_do

2016-08-30 23:09


<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>已经是最后一个节点");      

    }

</script>

</body>

</html>

1、不明白下面这段代码是干嘛的???获取"li"数组的第一个元素有什么用途啊?

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

    document.write(x.nodeName);

    document.write(" = ");

    document.write(x.innerHTML);

2、变量x被反复定义,他们是同一个值吗?求解啊

写回答 关注

2回答

  • weibo_慕侠7471952
    2016-08-31 00:13:42
    已采纳

    第二个问题去百度学习一下JS变量作用域的相关知识~教程里没写~

  • any_do
    2016-08-31 15:05:24

    我现在明白第一个问题了,其实定义var x,相当于给函数get_nextSibling(n)一个初始值,目前的初始值是li数组的第一个值,也可以是第二个值,可以通过遍历数组,输出数组每一个值的下一个节点,直到最后一个节点。

JavaScript进阶篇

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

468063 学习 · 21891 问题

查看课程

相似问题