This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2018.
The getElementsByName() method of the Document object returns a NodeList Collection of elements with a given name attribute in the document.
getElementsByName(name)
nameThe value of the name attribute of the element(s) we are looking for.
A live NodeList collection, meaning it automatically updates as new elements with the same name are added to, or removed from, the document.
<!doctype html>
<html lang="en">
<head>
<title>Example: using document.getElementsByName</title>
</head>
<body>
<input type="hidden" name="up" />
<input type="hidden" name="down" />
</body>
</html>
const up_names = document.getElementsByName("up");
console.log(up_names[0].tagName); // displays "INPUT"
The name attribute can only be applied in (X)HTML documents.
The returned NodeList Collection contains all elements with the given name, such as <meta>, <object>, and even elements which do not support the name attribute at all.
| Specification |
|---|
| HTML> # dom-document-getelementsbyname-dev> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
getElementsByName |
1 | 12Before Edge 79, this method returns anHTMLCollection, not a NodeList. |
58 | 5 | 4 | 18 | 58 | 10.1 | 3.2 | 1.0 | 4.4 | 3.2 |
document.getElementById() to return a reference to an element by its unique id
document.getElementsByTagName() to return references to elements with the same tag name
document.querySelector() to return references to elements via CSS selectors like 'div.myclass'
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByName