JavaScript HTML DOM 集合

HTMLCollection 对象

getElementsByTagName() 方法返回 HTMLCollection 对象。

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

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

实例

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

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

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

  1. y = x[1];

注释:索引从 0 开始。

HTML HTMLCollection 长度

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

实例

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

实例解释:

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

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

实例

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

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

HTMLCollection 并非数组!

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

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

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