元素: getElementsByTagName() 方法

Element.getElementsByTagName() 方法返回一个包含具有给定 标签名 的元素的实时 HTMLCollection

将搜索指定元素的所有后代,但不包括元素本身。返回的列表是实时的,这意味着它会随着 DOM 树自动更新。因此,如果 DOM 在调用之间发生更改,则无需重复使用相同的元素和参数调用 Element.getElementsByTagName()

在 HTML 文档中的 HTML 元素上调用时,getElementsByTagName 会在搜索之前将参数转换为小写。当试图在 HTML 文档中匹配 驼峰式 SVG 元素(例如 <linearGradient>)时,这是不可取的。相反,请使用 Element.getElementsByTagNameNS(),它会保留标签名的大小写。

Element.getElementsByTagNameDocument.getElementsByTagName() 类似,只是它只搜索指定元素的后代元素。

语法

js
getElementsByTagName(tagName)

参数

  • tagName 是要查找的限定名。特殊字符串 "*" 代表所有元素。为了与 XHTML 兼容,应使用小写。

返回值

一个实时 HTMLCollection,其中包含具有匹配标签名的元素,按其出现的顺序排列。如果未找到任何元素,则 HTMLCollection 为空。

示例

js
// Check the status of each data cell in a table
const table = document.getElementById("forecast-table");
const cells = table.getElementsByTagName("td");

for (const cell of cells) {
  const status = cell.getAttribute("data-status");
  if (status === "open") {
    // Grab the data
  }
}

规范

规范
DOM 标准
# dom-element-getelementsbytagname

浏览器兼容性

BCD 表格仅在浏览器中加载