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

while里面这个x不是节点吗?怎么能直接放while里进行true/false的判断

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


提问者:慕粉3233872 2016-11-02 15:14

个回答

  • Archer2016
    2016-11-02 16:31:21
    已采纳

    x在这里这就是一个代名词,节省编写代码的字符。

    另一方面,引用别人的回答如下

    这个条件是且的关系,即是说当x为true同时nodeType!=1都成立时执行花括号里面的内容。

    x什么时候为true呢?n.nextSibling返回null时,为false。就是说n.nextSibling返回不为null。

    当n有兄弟节点的时候返回值不为null。x在这里就是为了确保n有兄弟节点。x.nodeType!=1很简单了,不为元素节点就成立,为元素节点时就不执行,跳过。

  • Archer2016
    2016-11-02 16:11:59

    是一个节点,但是做true/false判断是可以的。只要这个值不为0,那就为真,为0则为假。