Pero en un documento HTML puede haber un número muy elevado de elementos div
o de elementos input
, o cualquier otro elemento repetido cada uno con su identificador exclusivo. En ese caso ¿cómo identifica este modelo a cada uno de esos elementos? La respuesta es muy simple, utiliza un vector. En en la siguiente presentación puedes ver un ejemplo comentado de las formas que tenemos de acceder a un elemento del modelo de objetos de documento.
Acceso a un elemento del DOM
Acceso a un elemento del DOM
Supongamos el siguiente código
HTML
<!-- Este es un comentario de HTML para indicar que aquí iría la cabecera y parte del cuerpo -->
<div id="cabecera">
<!-- Este comentario indica que aquí iría todo el texto HTML correspondiente a la cabecera del cuerpo de la página -->
</div>
<div id="contenido">
<!-- Este comentario indica que aquí iría todo el texto HTML correspondiente a el contenido del cuerpo de la página -->
</div>
<!-- Este es otro comentario de HTML para indicar que aquí iría el resto del cuerpo -->
Acceso a un elemento del DOM
Podemos acceder al elemento div con identificador “contenido”
Forma 1
document.getElementById("contenido")
Esta forma utiliza el método getElementById al que se le pasa como argumento el valor “contenido” del atributo id del elemento al que queremos hacer referencia.
Acceso a un elemento del DOM
Podemos acceder al elemento div con identificador “contenido”
Forma 2
document.getElementsByTagName(“div”)[1]
Esta forma utiliza el método getElementsByTagName al que se le pasa como argumento el nombre de la etiqueta div a la que queremos hacer referencia.
Este método crea siempre un vector de elementos div.
Como los vectores comienzan a numerar sus elementos en 0 el número 1 que está entre corchetes hacer referencia al segundo div del documento.
El índice [1] hace referencia a la posición relativa que ocupa el elemento div en el documento.
Acceso a un elemento del DOM
Podemos acceder al elemento div con identificador “contenido”
Forma 3
document.getElementsByTagName(“div”)[“contenido”]
Esta forma utiliza el método getElementsByTagName para crear un vector asociativo de elementos div donde, en lugar de emplear la posición relativa del elemento div en el documento para hacer referencia a un elemento del vector, emplea el nombre del identificador “contenido” por el cual es conocido.
Es un tipo abstracto de datos por el cual a cada nombre por el que se identifica un elemento del vector se le asocia un valor. Ejemplo: Edad["Pedro"]=35, Edad["Ana"]=28. En este tipo de vectores los nombres "Pedro" y "Ana" son únicos, no puede haber dos iguales.