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

n是谁传得啊

搞不明白到底是谁给函数传了个参数n。。 求解答???

正在回答

5 回答

( return x;           返回x,之前说了用变量y来接收,)请问哪行代码表明明要用变量y接收?谢谢

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

qq_仰望摩天轮_0 提问者

感谢!之前还真没看出来写错,不客气,调皮
2015-09-07 回复 有任何疑惑可以回复我~

//先执行以下代码

    var x=document.getElementsByTagName("li")[0];       //x为     <li id="a">javascript</li> 

    document.write(x.nodeName);             //输出x的节点名称为LI

    document.write(" = ");

    document.write(x.innerHTML);                 //输出x的节点的值为javascript

    

    var y=get_nextSibling(x);                   //  将x传给函数,并且将返回后的值赋给变量y

  

//函数接收参数后执行函数内的语句  

 function get_nextSibling(n){                       //n用来接收以上传来的x。所以n为 <li id="a">javascript</li> 

        var x=n.nextSibling;        //需要注意的是此时函数内定义的变量x与上面传来的x是完全不同的变量。(请了解全局变量和局部变量的不同),将n的下一个兄弟节点赋值给变量x。不进行是否有空白节点的考虑啦,我就认为    x为     <li id="b">jquery</li>

       while (x && x.nodeType!=1){   //这是为了浏览器兼容问题进行循环判定.目的是消除空白节点。找元素节点。

            x=x.nextSibling;

        }

        return x;           返回x,之前说了用变量y来接收

    }

    if(y!=null){               判断y是否是空的。如果不是,执行以下循环体

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

        document.write(y.nodeName);

        document.write(" =");

        document.write(y.innerHTML);

    }else{           //如果y是空的,说明是最后一个节点,执行以下语句。

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

    }


7 回复 有任何疑惑可以回复我~
#1

Hoenir

" if(y!=null){ 判断y是否是空的。如果不是,执行以下循环体" 请问这个if循环体现在哪里,原文好像没有?
2016-02-15 回复 有任何疑惑可以回复我~
#2

Hoenir

懂了,不好意思= = 我没看练习 囧rz
2016-02-15 回复 有任何疑惑可以回复我~

懂了  var y=get_nextSibling(x);    n是这么传得。太不仔细了,害我想好久

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

举报

0/150
提交
取消

n是谁传得啊

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