慕姐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]不就是取出第一个元素么?我有些凌乱,求赐教
<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;
简单解释下吧。getElementsByTagName()的作用是根据标签名返回具有相同标签名的元素的集合(list),当然这个list在js中就是数组了。
document.getElementsByTagName("li")
获取的是文档流中所有<li>标签元素的集合,在该HTML中一共有三个,
因为是数组嘛,所以:
document.getElementsByTagName("li")[0]
就是第一个元素,当然写成下面这个样子也是对的:
var list1 = document.getElementsByTagName("li"); list1[0]
//这个就是第一个元素喽。
document.getElementsByTagName("li") 就是获取所有li标签。返回的是一个数组。。里面的顺序是按文档流的顺序获取的(也就是至上而下)。。document.getElementsByTagName("li")[0]就是获取里面的第一个 li标签!!
JavaScript进阶篇
468781 学习 · 22507 问题
相似问题