JavaScript getElementsByTagName 方法详解与使用示例
本文详细介绍JavaScript中document.getElementsByTagName()方法的定义、语法及核心用法。该方法用于返回文档中带有指定标签名的所有元素集合,支持通配符"*"获取全部元素。文章通过三个具体实例演示如何统计input数量、获取表格列表以及定位特定段落,并对比了getElementById在操作单个元素时的效率优势。
代码如下:
function getElementsByTagName(node, tagName) {
var elements = [], i = 0, anyTag = tagName === "*", next = node.firstChild;
while ((node = next)) {
if (anyTag ? node.nodeType === 1 : node.nodeName === tagName) elements[i++] = node;
next = node.firstChild || node.nextSibling;
while (!next && (node = node.parentNode)) next = node.nextSibling;
}
return elements;
}; 定义和用法
getElementsByTagName 方法定义与语法
getElementsByTagName() 方法用于返回文档中带有指定标签名的所有对象的集合。
语法
document.getElementsByTagName(tagname)
说明
该方法返回的元素顺序与它们在文档树中的出现顺序一致。
若向 getElementsByTagName() 方法传递特殊字符串 "*",则返回文档中所有元素的列表,排列顺序同样遵循文档中的先后顺序。
提示和注释
注意:传递给 getElementsByTagName() 方法的字符串参数不区分大小写。
getElementsByTagName 使用实例
实例
例子 1
代码如下:
<html>
<head>
<script type="text/javascript">
function getElements()
{
var x=document.getElementsByTagName("input");
alert(x.length);
}
</script>
</head>
<body>
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<br />
<input type="button" onclick="getElements()"
value="How many input elements?" />
</body>
</html> 例子 2
利用 getElementsByTagName() 方法可以获取任意类型的 HTML 元素列表。例如,以下代码用于获取文档中所有的表格:
代码如下:
var tables = document.getElementsByTagName("table");
alert ("This document contains " + tables.length + " tables"); 例子 3
在明确文档结构的情况下,可以使用 getElementsByTagName() 方法获取文档中的特定元素。例如,以下代码用于获取文档中的第四个段落:
var myParagragh = document.getElementsByTagName("p")[3];
不过,如果目的是操作某个特定的单一元素,使用 getElementById() 方法通常更为高效。
网页开发三者分工:HTML结构、CSS样式与JavaScript交互怎么协作
2026-11-05 12:51:22
JS解析URL参数时怎么处理中文乱码和特殊字符
2026-11-05 12:47:23
js-cookie 存储 JSON 对象:自动序列化与反序列化技巧
2026-11-05 12:36:26
marked.js 快速上手:安装与基础 Markdown 转 HTML 示例
2026-11-05 09:32:53
Phaser.js 与 PixiJS、Cocos Creator 的技术选型对比
2026-11-05 08:36:30
