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
elements = element.getElementsByTagName(tagName)
elements
is a liveHTMLCollection
of elements with a matching tag name, in the order they appear. If no elements are found, theHTMLCollection
is empty.element
is the element from where the search starts. Only the element's descendants are included, not the element itself.tagName
is the qualified name to look for. The special string"*"
represents all elements. For compatibility with XHTML, lower-case should be used.
Example
// Check the status of each data cell in a table
const table = document.getElementById('forecast-table');
const cells = table.getElementsByTagName('td');
for (let cell of cells) {
let status = cell.getAttribute('data-status');
if (status === 'open') {
// Grab the data
}
}
Specifications
Specification | Status | Comment |
DOMThe definition of 'Element.getElementsByTagName()' in that specification. | Living Standard | Changed the return value from NodeList to HTMLCollection
|
Document Object Model (DOM) Level 3 Core SpecificationThe definition of 'Element.getElementsByTagName()' in that specification. | Obsolete | No change from Document Object Model (DOM) Level 2 Core Specification |
Document Object Model (DOM) Level 2 Core SpecificationThe definition of 'Element.getElementsByTagName()' in that specification. | Obsolete | No change from Document Object Model (DOM) Level 1 Specification |
Document Object Model (DOM) Level 1 SpecificationThe definition of 'Element.getElementsByTagName()' in that specification. | Obsolete | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
getElementsByTagName
|
Chrome Full support 1 Full support 1 Notes' Initially, this method was returning a |
Edge
Full support 12 |
Firefox Full support 1 Full support 1 Notes' Prior to Firefox 19, this method was returning a |
IE
Full support 5.5 |
Opera Full support 8 Full support 8 Notes' Initially, this method was returning a |
Safari Full support 6 Full support 6 Notes' Initially, this method was returning a |
WebView Android Full support 1 Full support 1 Notes' Initially, this method was returning a |
Chrome Android Full support 18 Full support 18 Notes' Initially, this method was returning a |
Firefox Android Full support 4 Full support 4 Notes' Prior to Firefox 19, this method was returning a |
Opera Android
Full support 10.1 |
Safari iOS Full support 6 Full support 6 Notes' Initially, this method was returning a |
Samsung Internet Android Full support 1.0 Full support 1.0 Notes' Initially, this method was returning a |
getElementsByTagName(*) | Chrome
Full support 1 |
Edge
Full support 12 |
Firefox
Full support Yes |
IE
Full support 6 |
Opera
Full support Yes |
Safari
Full support Yes |
WebView Android
Full support Yes |
Chrome Android
Full support Yes |
Firefox Android Full support Yes Full support Yes Notes' Prior to Firefox 19, this method was returning a |
Opera Android
Full support Yes |
Safari iOS
Full support Yes |
Samsung Internet Android
Full support Yes |
Legend
- Full support
- Full support
- See implementation notes.'
- See implementation notes.
Element.getElementsByTagName() by Mozilla Contributors is licensed under CC-BY-SA 2.5.