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

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

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

            x=x.nextSibling;

        }

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

正在回答

2 回答

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

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

Himushroom 提问者

非常感谢!
2016-06-29 回复 有任何疑惑可以回复我~
#2

qq_遗莣哋NO1_03595851

为什么x=1就代表节点是空?
2016-07-09 回复 有任何疑惑可以回复我~

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

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

举报

0/150
提交
取消

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

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