Document.getElementsByName()
The getElementsByName()
method
of the Document
object returns a NodeList
Collection of
elements with a given name
attribute in the document.
Syntax
var elements = document.getElementsByName(name);
-
elements is a live
NodeList
Collection, meaning it automatically updates as new elements with the samename
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">
<head>
<title>Example: using document.getElementsByName</title>
</head>
<body>
<input type="hidden" name="up" />
<input type="hidden" name="down" />
</body>
</html>
var up_names = document.getElementsByName("up");
console.log(up_names[0].tagName); // displays "INPUT"
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.
Warning: 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
.
Warning: The getElementsByName method works differently in IE. There,
getElementsByName()
does not return all elements which may not have a
name
attribute (such as <span>
).
Warning: Both IE and Edge return an HTMLCollection
, not a
NodeList
Specifications
Specification |
---|
HTML Standard # dom-document-getelementsbyname-dev |
Browser compatibility
BCD tables only load in the browser
See also
-
document.getElementById()
to return a reference to an element by its uniqueid
-
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'