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

为什么这段代码无法输出变量 b

为什么这段代码无法输出变量 b

玉鸯子 2016-09-24 18:24:30
<!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_previouSibling(n){        var a=n.previouSibling;        while(a.previouSibling!=1){            a=a.previouSibling;        }        return a;    }        var a=document.getElementsByTagName("li")[1];    document.write(a.nodeName);    document.write("=");    document.write(a.innerHTML);        b=get_previouSibling(a);      document.write("<br />"+"<br />");    document.write(b.nodeName);    document.write("=");    document.weite(b.innerHTML);</script></body></html>
查看完整描述

2 回答

已采纳
?
千秋此意

TA贡献158条经验 获得超187个赞

         function get_previouSibling(n) {
            var a = n.previousSibling;
            while (a.nodeType !== 1) {
                a = a.previousSibling;
            }
            return a;
        }

        var a = document.getElementsByTagName("li")[1];
        document.write(a.nodeName);
        document.write("=");
        document.write(a.innerHTML);

        b = get_previouSibling(a);

        document.write("<br />" + "<br />");
        document.write(b.nodeName);
        document.write("=");
        document.write(b.innerHTML);

两个地方单词拼错了 previouSibling 应该是 previousSibling

最后一行的 write 写成了 weite

while(a.previouSibling!=1)

改成了while (a.nodeType !== 1)
node对象的的nodeType属性=1时表示该对象是元素节点

查看完整回答
反对 回复 2016-09-24
?
去看天荒地老

TA贡献30条经验 获得超5个赞

previousSibling写错

while语句改成while(a.nodeType!=1){

查看完整回答
反对 回复 2016-09-24
  • 2 回答
  • 0 关注
  • 1326 浏览
慕课专栏
更多

添加回答

举报

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