Element: getElementsByTagName() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The
Element.getElementsByTagName()
method returns a live
HTMLCollection
of elements with the given tag name.
All descendants of the
specified element are searched, but not the element itself. The returned list is
live, which means it updates itself with the DOM tree automatically.
Therefore, there is no need to call Element.getElementsByTagName()
with
the same element and arguments repeatedly if the DOM changes in between calls.
When called on an HTML element in an HTML document, getElementsByTagName
lower-cases the argument before searching for it. This is undesirable when trying to
match camel-cased SVG elements (such as
<linearGradient>
)
in an HTML document. Instead, use Element.getElementsByTagNameNS()
,
which preserves the capitalization of the tag name.
Element.getElementsByTagName
is similar to
Document.getElementsByTagName()
, except that it only searches for
elements that are descendants of the specified element.
Syntax
getElementsByTagName(tagName)
Parameters
tagName
-
The qualified name to look for. The special string
"*"
represents all elements. For compatibility with XHTML, lower-case should be used.
Return value
A live HTMLCollection
of elements with a matching tag name, in the order they appear. If no elements are found, the HTMLCollection
is empty.
Examples
// 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
}
}
Specifications
Specification |
---|
DOM Standard # dom-element-getelementsbytagname |
Browser compatibility
BCD tables only load in the browser