空的怎么解决?????

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

qq_若相惜卟弃_3

2016-10-28 17:27

一直报错说,null.nodeName不存在,但是x=null时不执行此函数呀!!!!迷惑了

写回答 关注

1回答

  • qq_若相惜卟弃_3
    2016-10-28 18:33:34

    <!DOCTYPE HTML>
    <html>
       <head>
           <meta charset="utf-8"/>
           <title>Subling兄弟节点</title>
       </head>
       <body>
           <ul>
               <li>JS</li>
               <li>HTML</li>
               <li>CSS</li>
               <li>Jquery</li>
           </ul>
           <ul>
               <li>C-N</li>
               <li>PS</li>
               <li>WEB</li>
               <li>GO</li>
           </ul>
           <script type="text/javascript">
               function get_nextSibling(n)
               {
                   var x= n.nextSibling;
                   while(x&& x.nodeType!=1)//while(x)说明x不是一个空,得到true,取后面的值,详见疑难解答5
                   {
                       x= x.nextSibling;//while循环,如果不是一个元素,则下一个,直到出现一个元素
                   }
                   return x;//给调用函数的传回一个参数。
               }
               function get_previousSibling(n)
               {
                   var x= n.previousSibling;
                   while(x&& x.nodeType!=1)
                   {
                       x= x.previousSibling;//while循环,如果不是一个元素,则下一个,直到出现一个元素
                   }
                   return x;//给调用函数的传回一个参数。
               }
               var A=document.getElementsByTagName("li")[0];
              // document.write(A.nodeName+"="+ A.nodeValue+"<br/>");//元素节点的nodeValue是空的
               document.write(A.nodeName+"="+ A.innerHTML+"<br/>");
               var y=get_nextSibling(A);
               if(y!=null)
               {
                  document.write(y.nodeName+"="+ y.innerHTML+"<br/>");
               }
               else
               {
                   document.write("是最后一个节点");
               }
               var z=get_previousSibling(A);
               if(z!=null)//if(y)说明y不是一个空函数,得到true,取后面的值
               {
                   document.write(z.nodeName+"="+ z.innerHTML+"<br/>");
               }
               else
               {
                   document.write("是最后一个节点");
               }
           </script>
       </body>
    </html>

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题