问答详情
源自:9-7 节点属性

获取属性节点和序号问题

这样写以后只能输出第一个序号,求大神解答什么原因

另外,为什么序号自动变成了No.01 而不是直接输出No.1?

提问者:RiverHei 2018-01-12 16:24

个回答

  • 路人戊_
    2018-01-12 23:57:24
    已采纳

    <!DOCTYPE HTML>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <title>节点属性</title>

    </head>

    <body>

      <ul>

         <li name="lol">javascript</li>

         <li name="lol">HTML/CSS</li>

         <li name="lol">jQuery</li>     

      </ul>

      <script type="text/javascript">

          var int = document.getElementsByName("lol");

          for (var i=0;i<int.length;i++){

             var nameint = int[i].getAttributeNode("name");

             document.write("No."+( i+1) + "<br/>");

             document.write(nameint.nodeName + "<br/>");

             document.write(nameint.nodeValue + "<br/>");

             document.write(nameint.nodeType + "<br/>");         

          }

      </script>

    </body>

    </html>

    1. 去掉nameint后面的[i],因为你已经直接赋值了,nameint这个变量没有下标

    2. 加括号,不然运算顺序是从左右,i变量会以字符串的方式做加法运算,也就是直接连起来