小码哥的IT人生

JavaScript HTML DOM 集合

JavaScript基础 2022-04-25 01:51:43小码哥的IT人生shichen

JavaScript HTML DOM 集合

HTMLCollection 对象

getElementsByTagName() 方法返回 HTMLCollection 对象。

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

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

示例代码:

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

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

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

y = x[1];

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript HTML DOM</h1>
<p>Hello World!</p>
<p>Hello China!</p>
<p id="demo"></p>
<script>
var myCollection = document.getElementsByTagName("p");
document.getElementById("demo").innerHTML =
"第二段的 innerHTML 是:" +
myCollection[1].innerHTML;
</script>
</body>
</html>

运行结果:

Javascript HTML DOM

Hello World!

Hello China!

第二段的 innerHTML 是:Hello China!

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

注释:索引从 0 开始。

HTML HTMLCollection 长度

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

示例代码:

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

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript HTML DOM</h1>
<p>Hello World!</p>
<p>Hello China!</p>
<p id="demo"></p>
<script>
var myCollection = document.getElementsByTagName("p");
document.getElementById("demo").innerHTML = 
"此文档包含 " + myCollection.length + " 段文字。";
</script>
</body>
</html>

运行结果:

Javascript HTML DOM

Hello World!

Hello China!

此文档包含 3 段文字。

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

实例解释:

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

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

示例代码:

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

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

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript HTML DOM</h1>
<p>Hello World!</p>
<p>Hello China!</p>
<p>单击按钮可更改所有 p 元素的颜色。</p>
<button onclick="myFunction()">试一试</button>
<script>
function myFunction() {
  var myCollection = document.getElementsByTagName("p");
  var i;
  for (i = 0; i < myCollection.length; i++) {
    myCollection[i].style.color = "red";
  }
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

HTMLCollection 并非数组!

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

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

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

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024