JavaScript HTML DOM 集合

HTMLCollection 对象

getElementsByTagName() 方法返回 HTMLCollection 对象。

HTMLCollection 对象是类数组的 HTML 元素列表(集合)。

下面的代码选取文档中的所有 <p> 元素:

实例

var x = document.getElementsByTagName("p");

该集合中的元素可通过索引号进行访问。

如需访问第二个 <p> 元素,您可以这样写:

y = x[1];

亲自试一试

注释:索引从 0 开始。

HTML HTMLCollection 长度

length 属性定义了 HTMLCollection 中元素的数量:

实例

var myCollection = document.getElementsByTagName("p");
document.getElementById("demo").innerHTML = myCollection.length; 

亲自试一试

实例解释:

  • 创建所有 <p> 元素的集合
  • 显示集合的长度

length 属性在您需要遍历集合中元素时是有用的:

实例

改变所有 <p> 元素的背景色:

var myCollection = document.getElementsByTagName("p");
var i;
for (i = 0; i < myCollection.length; i++) {
    myCollection[i].style.backgroundColor = "red";
}

亲自试一试

HTMLCollection 并非数组!

HTMLCollection 也许看起来像数组,但并非数组。

您能够遍历列表并通过数字引用元素(就像数组那样)。

不过,您无法对 HTMLCollection 使用数组方法,比如 valueOf()pop()push()join()