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

javascript进阶篇 一个循环 不理解 求解答

javascript进阶篇 一个循环 不理解 求解答

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>nextSibling</title></head><body><ul id="u1">               <li id="a">javascript</li>               <li id="b">jquery</li>               <li id="c">html</li>           </ul>           <ul id="u2">               <li id="d">css3</li>               <li id="e">php</li>               <li id="f">java</li>           </ul>   <script type="text/javascript">    function get_previousSibling(n){               var x=n.previousSibling;        while (x && x.nodeType!=1){         //这个循环我怎么理解是 条件判断 不能等于1(元素),如果等于1就跳过,但是答案正好相反   迷不过来这个  哎,求解答             x=x.previousSibling;            }        return x;    }    var x=document.getElementsByTagName("li")[1];    document.write(x.nodeName);    document.write(" = ");    document.write(x.innerHTML);        var y=get_previousSibling(x);        if(y!=null){              document.write("<br />nextsibling: ");        document.write(y.nodeName);        document.write(" = ");        document.write(y.innerHTML);    }else{      document.write("<br>已经是最后一个节点");          }</script></body></html>
查看完整描述

2 回答

已采纳
?
Perona

TA贡献355条经验 获得超403个赞

首先要明白nodeType属性。

nodeType 属性返回以数字值返回指定节点的节点类型。

如果节点是元素节点,则 nodeType 属性将返回 1。

如果节点是属性节点,则 nodeType 属性将返回 2。

那这个条件是什么意思呢?即存在x(n的兄弟节点)并且x(n的兄弟节点)类型不是元素节点。

x        &&     x.nodeType     !=             1

 ↓        ↓            ↓                     ↓                ↓ 

存在x  并且     x节点类型       不是        元素节点

查看完整回答
反对 回复 2015-06-02
  • 程序爱好者11
    程序爱好者11
    您好,就是说条件是 【x存在并且不是元素节点】,也是就是说等于1是元素节点就停止,满足不等于1就循环啊,怎么感觉和标准相反呢
  • Perona
    Perona
    跟你解释一下这个get_previousSibling(n)函数吧。var x=n.nextSibling;是先把n的下一个节点赋值给x。那么while循环就是判断如果x存在并且x的节点类型不是元素节点,那么就把x的下一个节点重新赋值给x,即这句话x=x.nextSibling;。本身这个循环体是不是就是要找到元素节点。
  • 程序爱好者11
    程序爱好者11
    非常感谢!
点击展开后面1
?
慕莱坞0150426

TA贡献1条经验 获得超0个赞

把感叹号去掉看行吗

查看完整回答
反对 回复 2015-06-02
  • 2 回答
  • 0 关注
  • 1542 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信