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

为什么while后面的条件里面是x&&x.nodeType??

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

            x=x.nextSibling;

        }

x.nodeType我能理解,就是判断后面的节点是否为元素节点,但是为什么前面还要加一个x!=1的判断呢?在这里返回的x是函数还是什么东西?

提问者:Himushroom 2016-06-29 11:04

个回答

  • 龙龙3541153
    2016-06-29 15:54:16
    已采纳

    x是节点, x&&x.ondeType!= 1 表示不是空 并且节点类型不是1

  • 听羽
    2016-06-29 15:55:17

    因为开始时var x=document.getElementsByTagName("li")[0];,即x为li的第一个节点,然后调用getElementsByTagName(x)这个函数,把x的值传进去,这个函数里x的值又发生了改变var x=n.nextSibling;,x因为n.nextSibling而指向了下一个节点,而下一个节点的类型是不知道的,所以要对x进行判断。说的不太好,希望能理解~