Document.getElementsByName()

The getElementsByName() method of the Document object returns a NodeList Collection of elements with a given name in the document.

Syntax

var elements = document.getElementsByName(name);
  • elements is a live NodeList Collection, meaning it automatically updates as new elements with the same name are added to/removed from the document.
  • name is the value of the name attribute of the element(s).

Example

<!DOCTYPE html>
<html lang="en">
<title>Example: using document.getElementsByName</title>

<input type="hidden" name="up">
<input type="hidden" name="down">

<script>
  var up_names = document.getElementsByName("up");
  console.log(up_names[0].tagName); // displays "INPUT"
</script>
</html>

Notes

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.

The getElementsByName method works differently in IE10 and below. There, getElementsByName() also returns elements that have an id attribute with the specified value. Be careful not to use the same string as both a name and an id.

The getElementsByName method works differently in IE. There, getElementsByName() does not return all elements which may not have a name attribute (such as <span>).

Both IE and Edge return an HTMLCollection, not a NodeList

Specifications

Specification Status Comment
HTML Living Standard
The definition of 'Document.getElementsByName()' in that specification.
Living Standard  
Document Object Model (DOM) Level 2 HTML Specification
The definition of 'Document.getElementsByName()' in that specification.
Obsolete Initial definition

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
getElementsByNameChrome Full support 1Edge Full support 12
Notes
Full support 12
Notes
Notes In EdgeHTML, this returns an HTMLCollection, not a NodeList. This behavior was fixed in Chromium versions of Edge.
Firefox Full support 1IE Full support 5
Notes
Full support 5
Notes
Notes Returns an HTMLCollection, not a NodeList
Opera Full support 5Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0

Legend

Full support  
Full support
See implementation notes.
See implementation notes.

See also