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

为什么我写前一个节点就是不显示呢?

<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")[1];

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

    }


   

    var i=get_previousSibling(x);

    

    if(i!=null){

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

        document.write(i.nodeName);

        document.write(" = ");

        document.write(i.innerHTML);

    }else{

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

    }

           


正在回答

3 回答

   var i=get_previousSibling(x);  你就没这个函数,这是执行的什么?

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

果冻上树 提问者

上面不是return x;
2016-04-01 回复 有任何疑惑可以回复我~
#2

aid123321 回复 果冻上树 提问者

上面的return x;返回的是 get_nextSibling(x);这个函数里面的值,和get_previousSibling(x)这个没关系!更何况你都没定义这个函数,get_nextSibling这个名字你可以随便写;要想正确 在定义一个函数:function get_previousSibling(n){ var x=n.previousSibling; while(x.nodeType!=1){ x=x.previousSibling; } return x; } 这段加上就正确了
2016-04-01 回复 有任何疑惑可以回复我~
#3

果冻上树 提问者 回复 aid123321

啊,明白了,感谢
2016-04-01 回复 有任何疑惑可以回复我~

要想显示着一块

 var i=get_previousSibling(x);

    

    if(i!=null){

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

        document.write(i.nodeName);

        document.write(" = ");

        document.write(i.innerHTML);

    }else{

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

    }

的内容,需要,你要执行的函数体get_previousSibling(x);这个函数:

function get_previousSibling(n){
var x=n.previousSibling;
while(x.nodeType!=1){
x=x.previousSibling;
}
return x;
}

注意:这个get_previousSibling名字,可以随便写,比如,function aa(n){函数体},那么你在用到这个函数时间,var i=get_previousSibling(x);这里,需要改成,var i=aa(x);

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

果冻上树 提问者

嗯嗯,我还以为他是一个函数。get_previousSibling()
2016-04-01 回复 有任何疑惑可以回复我~

不知道你在问什么

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

果冻上树 提问者

我自己定义的var i=get_previousSibling(x); 然后i.nodeName 输出结果里没显示。
2016-04-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我写前一个节点就是不显示呢?

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