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

关于while (x && x.nodeType!=1)如果它的兄弟节点刚好是文本节点怎么办?

如果它的节点刚好不是元素怎么办?例如刚好是文本节点呢?

正在回答

2 回答

假设我们的nextSibling 节点是whitespace,那么该节点的nodeType 不等于 1(因为他是文本节点,他的类型应该是3),所以他会进入while循环。而while循环内的语句是:“x=x.nextSibling;”,这是什么意思呢?意思是我的nextSibling节点不是元素节点(是一个文本节点),我不想要这个文本节点,所以我要再继续找下一个兄弟节点。当下一个节点是元素节点时,那么此时他就不符合while循环里的条件了,所以此时就会之间执行return x;,这个x就是我们需要的身为元素节点的兄弟节点了(有点儿绕口呵呵)。

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

这个不已经判断了吗,x.nodeType!=1这个就是排除文本节点的

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

小狮子_小棍儿 提问者

!=1是排除元素节点。
2015-01-08 回复 有任何疑惑可以回复我~
#2

内涵Naruto 回复 小狮子_小棍儿 提问者

当节点不是元素节点时执行循环语句(将下个节点赋值给它),也就是说通过这个语句把文本节点跳过了
2015-01-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于while (x && x.nodeType!=1)如果它的兄弟节点刚好是文本节点怎么办?

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