JavaScript getElementsByTagName 方法详解与使用示例

作者:竹影时间:2026-10-25 19:49:32浏览:470

本文详细介绍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() 方法通常更为高效。

作者最新文章