关于getElemenstByName(),getElementsByTagName()不都是获取元素节点的么???

来源:9-7 节点属性

慕粉1469604703

2016-09-06 14:39

<body>

  <ul>

     <li title="title">javascript</li>

     <li title="title">HTML/CSS</li>

     <li title="title">jQuery</li>     

  </ul>

  <script type="text/javascript">

    var anode=document.getElementsByTagName("li");

//  为什么var anode=document.getElementsByName("title");却不可以??

    for(i=0;i<anode.length;i++)

    {document.write(anode[i].nodeName+"<br />");

     document.write(anode[i].nodeValue+"<br />");

     document.write(anode[i].nodeType+"<br />");

        };

    

  </script>

</body>


写回答 关注

2回答

  • 冰上行舟
    2016-09-07 19:30:36
    已采纳

    哦,不好意思~其实,你的var anode=document.getElementsByName("title")的确不行,因为你的“title”不是“name”属性!!!正确:

    用法getElementsByName("name属性")

    以下附上我修正的代码:

    <body>

      <ul>

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

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

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

      </ul>

      <script type="text/javascript">

    //    var anode=document.getElementsByTagName("li");

    var anode=document.getElementsByName("title");

        for(i=0;i<anode.length;i++)

        {

        document.write("节点内容:"+anode[i].innerHTML+"<br/>");

        document.write(anode[i].nodeName+"<br />");

         document.write(anode[i].nodeValue+"<br />");

         document.write(anode[i].nodeType+"<br />");

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

            };

        

      </script>

    </body>


    慕粉1469...

    是的呢,是的,非常感谢!!!谢谢耐心指导!

    2016-09-08 09:44:34

    共 1 条回复 >

  • 冰上行舟
    2016-09-06 17:42:26

    一样可以的啊!

    getElementsByTagName:通过标签获取节点元素集合;

    getElementsByName:通过name属性获取节点元素集合;

    以上返回的都是以数组形式返回的,从你的问题中,我注意到你的“getElementsByTagName”和“getElementsByName”在Element后面漏打了“s”,估计这是导致你不能正常运行程序的主要原因~

    慕粉1469...

    问题那儿写错了,但是程序里没有错啊,用getElementsByName()确实没有效果,没有结果??

    2016-09-07 09:03:33

    共 1 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题