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

访问兄弟节点代码中的nodeType!=1

 function get_nextSibling(n){
        var x=n.nextSibling;
        while (x && x.nodeType!=1){
            x=x.nextSibling;
        }
        return x;
    }

while条件语句判断x存在且节点属性为元素节点时,进入循环语句,x的节点属性为什么要是元素节点呢,空白节点的nodeType=1,但是li元素的nodeType也是1呀,这个条件判断不对吧

正在回答

3 回答

while条件语句判断x存在且节点属性为元素节点时,进入循环语句,

这句话有错,while条件语句判断x存在,且节点类型属性不为1(元素节点类型属性为1),进入循环语句,直到碰到元素节点时跳出循环。

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

get_nextSibing函数是获取n同级 的下一个节点,条件是如果n的下一个同级节点x存在并且x节点类型不为1,就执行x=x.nextSibling,也就是继续查找再下一个节点,直到x存在并且节点类型为1,我是这么理解的,希望可以帮到你

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

#Text节点(代表元素或属性中的文本内容)的nodeType是3,元素节点的nodeType是1,所以这么判断没错.

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

wlf1112 提问者

为什么不能是元素节点呢,有点想不通,谢谢
2015-12-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

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

进入课程

访问兄弟节点代码中的nodeType!=1

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