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
实例解释:
- 创建所有 <p> 元素的集合
- 显示集合的长度
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()
。