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

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

  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 回答

<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;


3 回复 有任何疑惑可以回复我~
#1

慕姐1632040 提问者

非常感谢!
2016-06-19 回复 有任何疑惑可以回复我~

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

document.getElementsByTagName("li")

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

因为是数组嘛,所以:

document.getElementsByTagName("li")[0]

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

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

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

0 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号