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

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

Himushroom

2016-06-29 11:04

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

            x=x.nextSibling;

        }

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

写回答 关注

2回答

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

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

    qq_遗莣哋...

    为什么x=1就代表节点是空?

    2016-07-09 17:39:40

    共 2 条回复 >

  • 听羽
    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进行判断。说的不太好,希望能理解~

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题