Returns a reference to the element by its ID; the ID is a string which can be used to identify the element; it can be established using the id
attribute in HTML, or from script.
Syntax
element = document.getElementById(id);
Parameters
id
Return Value
element
- is a reference to an
Element
object, ornull
if an element with the specified ID is not in the document.
Example
<!DOCTYPE html> <html> <head> <title>getElementById example</title> <script> function changeColor(newColor) { var elem = document.getElementById("para1"); elem.style.color = newColor; } </script> </head> <body> <p id="para1">Some text here</p> <button onclick="changeColor('blue');">blue</button> <button onclick="changeColor('red');">red</button> </body> </html>
Notes
New users should note that the capitalization of 'Id' in the name of this method must be correct for the code to function; "getElementByID" does not work, however natural it may seem.
If you use getElementById().you must use document to the root element.
Example
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div id="parent-id"> <p>hello word1</p> <p id="test1">hello word2</p> <p >hello word3</p> <p>hello word4</p> </div> <script> var parentDOM = document.getElementById("parent-id"); var test1=parentDOM.getElementById("test1"); //throw error //Uncaught TypeError: parentDOM.getElementById is not a function </script> </body> </html>
If there is no element with the given id
, this function returns null
. Note that the id
parameter is case-sensitive, so document.getElementById("Main")
will return null
instead of the element <div id="main">
because "M" and "m" are different for the purposes of this method.
Elements not in the document are not searched by getElementById()
. When creating an element and assigning it an ID, you have to insert the element into the document tree with Node.insertBefore()
or a similar method before you can access it with getElementById()
:
var element = document.createElement("div"); element.id = 'testqq'; var el = document.getElementById('testqq'); // el will be null!
Non-HTML documents. The DOM implementation must have information that says which attributes are of type ID. Attributes with the name "id" are not of type ID unless so defined in the document's DTD. The id
attribute is defined to be of ID type in the common cases of XHTML, XUL, and other. Implementations that do not know whether attributes are of type ID or not are expected to return null
.
Specification
Specification | Status | Comment |
---|---|---|
Document Object Model (DOM) Level 1 Specification The definition of 'getElementById' in that specification. |
Recommendation | Initial definition for the interface |
Document Object Model (DOM) Level 2 Core Specification The definition of 'getElementById' in that specification. |
Recommendation | Supersede DOM 1 |
Document Object Model (DOM) Level 3 Core Specification The definition of 'getElementById' in that specification. |
Recommendation | Supersede DOM 2 |
DOM The definition of 'getElementById' in that specification. |
Living Standard | Intend to supersede DOM 3 |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 1.0 | 1.0 (1.7 or earlier) | 5.5 | 7.0 | 1.0 |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | 1.0 | 1.0 (1.0) | 6.0 | 6.0 | 1.0 |
See also
Document
reference for other methods and properties you can use to get references to elements in the document.Document.querySelector()
for selectors via queries like'div.myclass'
- xml:id - has a utility method for allowing
getElementById()
to obtain 'xml:id' in XML documents (such as returned by Ajax calls)