--- title: document.getElementById slug: Web/API/Document/getElementById tags: - API - DOM - Documento - Elementos - Referencia - Web - id - metodo translation_of: Web/API/Document/getElementById --- <div>{{ ApiRef("DOM") }}</div> <div> </div> <p>Devuelve una referencia al elemento por su <a href="/en-US/docs/DOM/element.id" title="en-US/docs/DOM/element.id">ID</a>.</p> <h2 id="Syntax" name="Syntax">Sintaxis</h2> <pre class="brush: js">elemento = document.getElementById(<em>id</em>); </pre> <h3 id="Parámetros">Parámetros</h3> <dl> <dt><code><strong>id</strong></code></dt> <dd>Es una cadena sensible a mayúsculas referida al ID único del elemento buscado.</dd> </dl> <h3 id="Valor_Retornado"><strong>Valor Retornado</strong></h3> <dl> <dt><code><strong>element</strong></code></dt> <dd>Es una referencia a un objeto {{domxref("Element")}}, o <code>null</code> si un elemento con el ID especificado no se encuentra en el documento.</dd> <dt> <h2 id="Ejemplo">Ejemplo</h2> <h3 id="HTML">HTML</h3> <pre class="brush: html"><html> <head> <title>Ejemplo getElementById</title> </head> <body> <p id="para">Cualquier texto acá</p> <button onclick="changeColor('blue');">Azul</button> <button onclick="changeColor('red');">Rojo</button> </body> </html> </pre> <h3 id="JavaScript">JavaScript</h3> <pre class="brush: js">function changeColor(newColor) { var elem = document.getElementById('para'); elem.style.color = newColor; } </pre> <h3 id="Resultado">Resultado</h3> <p>{{EmbedLiveSample('Ejemplo', 250, 100)}}</p> </dt> </dl> <h2 id="Notes" name="Notes">Notas</h2> <p>Los usuarios nuevos deberían notar que escribir en mayúsculas 'Id' en el nombre de este método <em>debe ser corregida</em> para que el código sea válido - 'getElementByID' no funcionará a pesar de que parezca natural.</p> <p>A diferencia de otros métodos similares, getElementById sólo está disponible como un método del objeto global document, y no se encuentra disponible como un método en todos los objetos del DOM. Como los valores ID deben ser únicos a traves del documento, no existe necesidad para versiones "locales" de la función.</p> <h2 id="Ejemplo_2">Ejemplo</h2> <pre class="brush: html"><!doctype html> <html> <head> <meta charset="UTF-8"> <title>Documento</title> </head> <body> <div id="parent-id"> <p>Hola Mundo 1</p> <p id="test1">Hola Mundo 2</p> <p>Hola palabra 3</p> <p>Hola palabra 4</p> </div> <script> var parentDOM = document.getElementById('parent-id'); var test1=parentDOM.getElementById('test1'); //lanza error //Uncaught TypeError: parentDOM.getElementById is not a function </script> </body> </html></pre> <p>Si no existe un elemento con la <code>id</code> solicitada, esta función devuelve <code>null</code>. Note que el parámetro <code>id</code> es sensible a mayúsculas, así que <code>document.getElementById("Main")</code> devolverá <code>null</code> dentro del elemento <code><div id="main"></code> porque "M" y "m" son diferentes para los propósitos de este método.</p> <p><strong>Elementos que no se encuentren</strong> en el documento no serán buscados por <code>getElementById()</code>. Cuando se cree un elemento y se le asigne un ID, debe insertar el elemento dentro del árbol del documento con {{domxref("Node.insertBefore()")}} u otro método similar antes de que se pueda acceder a el con <code>getElementById()</code>:</p> <div id="<strong>m</strong>ain"> <pre class="brush: js">var element = document.createElement("div"); element.id = 'testqq'; var el = document.getElementById('testqq'); // el será null! </pre> <p><strong>Documentos no-HTML</strong>. La implementación de DOM debe tener información que diga que atributos son del tipo ID. Los atributos con el nombre "id" son son del tipo ID a menos que se los defina en el DTD del documento. El atributo <code>id</code> es definido para ser del tipo ID en los casos comunes de <a href="https://developer.mozilla.org/en-US/docs/XHTML">XHTML</a>, <a href="/es/docs/Mozilla/Tech/XUL">XUL</a>, y otros. Las implementaciones que no sepan si los atributos son o no del tipo ID se espera que retornen null.</p> <h2 id="Specification" name="Specification">Especificación</h2> <table> <tbody> <tr> <th scope="col">Especificación</th> <th scope="col">Status</th> <th scope="col">Comentarios</th> </tr> <tr> <td>{{SpecName('DOM1','level-one-html.html#method-getElementById','getElementById')}}</td> <td>{{Spec2('DOM1')}}</td> <td>Definición inicial para la interfase</td> </tr> <tr> <td>{{SpecName('DOM2 Core','core.html#ID-getElBId','getElementById')}}</td> <td>{{Spec2('DOM2 Core')}}</td> <td>Supersede DOM 1</td> </tr> <tr> <td>{{SpecName('DOM3 Core','core.html#ID-getElBId','getElementById')}}</td> <td>{{Spec2('DOM3 Core')}}</td> <td>Supersede DOM 2</td> </tr> <tr> <td>{{SpecName('DOM WHATWG','#interface-nonelementparentnode','getElementById')}}</td> <td>{{Spec2('DOM WHATWG')}}</td> <td>Intend to supersede DOM 3</td> </tr> </tbody> </table> <h2 id="Browser_Compatibility" name="Browser_Compatibility">Compatibilidad con navegadores</h2> <p>{{ CompatibilityTable() }}</p> <div id="compat-desktop"> <table class="compat-table"> <tbody> <tr> <th>Feature</th> <th>Chrome</th> <th>Firefox (Gecko)</th> <th>Internet Explorer</th> <th>Opera</th> <th>Safari (WebKit)</th> </tr> <tr> <td>Basic support</td> <td>1.0</td> <td>{{ CompatGeckoDesktop(1.0) }}</td> <td>5.5</td> <td>7.0</td> <td>1.0</td> </tr> </tbody> </table> </div> <div id="compat-mobile"> <table class="compat-table"> <tbody> <tr> <th>Feature</th> <th>Android</th> <th>Firefox Mobile (Gecko)</th> <th>IE Phone</th> <th>Opera Mobile</th> <th>Safari Mobile</th> </tr> <tr> <td>Basic support</td> <td>1.0</td> <td>{{ CompatGeckoMobile(1.0) }}</td> <td>6.0</td> <td>6.0</td> <td>1.0</td> </tr> </tbody> </table> </div> <h2 id="See_also" name="See_also">Ver también</h2> <ul> <li>La referencia <a href="/en-US/docs/DOM/document" title="en-US/docs/DOM/document">document</a> para otros métodos y propiedades que se pueden usar para obtener referencias a elementos en el documento.</li> <li><a href="/en-US/docs/Web/API/document.querySelector">document.querySelector()</a> para selectores via consultas como <code>'div.myclass'</code></li> <li><a href="/en-US/docs/xml/xml:id" title="en-US/docs/xml/id">xml:id</a> - tiene un método utilitario para permitir que <code>getElementById()</code> obtenga 'xml:id' en documentos XML documents (como los retornados por llamadas Ajax.</li> </ul> </div>