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

访问兄弟节点代码中的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呀,这个条件判断不对吧

提问者:wlf1112 2015-12-02 14:40

个回答

  • 西风潇潇
    2016-01-20 09:43:04

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

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

  • 各种各种各种
    2015-12-20 19:11:38

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

  • 蛋白
    2015-12-03 10:04:42

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