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

访问兄弟节点不是很懂

function get_nextSibling(n)//为什么()里要有个n

{

        var x=n.nextSibling;

        while (x && x.nodeType!=1)//x的判定,x不是空节点

        {

            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);//这个y为什么要这样声明定义

    

    if(y!=null){

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

        document.write(y.nodeName);

        document.write(" = ");

        document.write(y.innerHTML+"<br/>");

    }else{

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

    }


提问者:大神在路上 2016-06-23 07:43

个回答

  • 慕尼黑布林
    2016-06-23 23:07:30
    已采纳

    1:  既然是要找兄弟,那肯定要说明是找谁的兄弟,不然就乱套了不是?n就表示这个”谁“;

    2: x已经定义了,那么要让y=x的兄弟节点,赋值的时候自然直接调用函数了~

  • kame008
    2016-06-23 15:58:52

    因为这个函数是要访问相邻节点的,你不传参数进去说明以哪个节点为参考系,怎么运行函数呢

  • elmeet
    2016-06-23 13:58:02

    function get_nextSibling(n)//n是你调用函数所传的参数

            var y=get_nextSibling(x);//这个是将调用函数返回的结果赋值给y

     return x;//这里是调用函数的返回值