var x=document.getElementsByTagName("li")[0];

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

慕姐1632040

2016-06-13 16:57

  var x=document.getElementsByTagName("li")[0];
    document.write(x.nodeName);
    document.write(" = ");
    document.write(x.innerHTML);

不解为何后面要加[0],     document.getElementsByTagName("li")是数组,那么他的额数组元素是那些,难道是[li, li,li ....] 加[0]不就是取出第一个元素么?我有些凌乱,求赐教

写回答 关注

3回答

  • 权耀扬
    2016-06-14 16:11:27
    已采纳
    <ul>
        <li class="a">a</li>
        <li class="b">b</li>
        <li class="c">c</li>
    </ul>
    
    
    getElementsByTagName 返回的是数组 .a .b .c 
    
    var x=document.getElementsByTagName("li")[0] = li.a
    
    如果你想取li.a 里的值(a)的话
    
    var x=document.getElementsByTagName("li")[0];
    var y= x.firstChild.nodeValue;


    慕姐1632...

    非常感谢!

    2016-06-19 09:52:08

    共 1 条回复 >

  • inro
    2016-06-16 10:21:20

    简单解释下吧。getElementsByTagName()的作用是根据标签名返回具有相同标签名的元素的集合(list),当然这个list在js中就是数组了。

    document.getElementsByTagName("li")

    获取的是文档流中所有<li>标签元素的集合,在该HTML中一共有三个

    因为是数组嘛,所以:

    document.getElementsByTagName("li")[0]

    就是第一个元素,当然写成下面这个样子也是对的:

    var list1 = document.getElementsByTagName("li");
    list1[0]

    //这个就是第一个元素喽。

  • lolDragon
    2016-06-13 17:49:51

    document.getElementsByTagName("li") 就是获取所有li标签。返回的是一个数组。。里面的顺序是按文档流的顺序获取的(也就是至上而下)。。document.getElementsByTagName("li")[0]就是获取里面的第一个 li标签!!

JavaScript进阶篇

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

468781 学习 · 22507 问题

查看课程

相似问题