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

来源:9-11 访问兄弟节点

慕粉3233872

2016-11-02 15:14

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


写回答 关注

2回答

  • 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很简单了,不为元素节点就成立,为元素节点时就不执行,跳过。

    慕粉3233...

    非常感谢!

    2016-11-02 16:40:35

    共 1 条回复 >

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

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

    慕粉3233...

    那这个x放在这里有什么意义呢?判断它是不是一个节点吗?

    2016-11-02 16:19:46

    共 1 条回复 >

JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题