0% encontró este documento útil (0 votos)
38 vistas27 páginas

Tema 4. El DOM

El documento aborda el concepto del Document Object Model (DOM) en el contexto del desarrollo web, explicando su función como una estructura arbórea que permite la manipulación de elementos HTML mediante JavaScript. Se discuten métodos para localizar, navegar y modificar nodos en el DOM, así como la implementación de JSDOM para simular un DOM en entornos de Node.js. Además, se presentan técnicas para crear y modificar nodos, así como la utilización de selectores para interactuar con el DOM de manera eficiente.

Cargado por

Hernan Quintero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
38 vistas27 páginas

Tema 4. El DOM

El documento aborda el concepto del Document Object Model (DOM) en el contexto del desarrollo web, explicando su función como una estructura arbórea que permite la manipulación de elementos HTML mediante JavaScript. Se discuten métodos para localizar, navegar y modificar nodos en el DOM, así como la implementación de JSDOM para simular un DOM en entornos de Node.js. Además, se presentan técnicas para crear y modificar nodos, así como la utilización de selectores para interactuar con el DOM de manera eficiente.

Cargado por

Hernan Quintero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 27

Tema 4

Desarrollo Web: Full Stack

Tema 4. El DOM
Índice
Esquema

Ideas clave

4.1. Introducción y objetivos

4.2. ¿Qué es el DOM?

4.3. Un DOM virtual con JSDOM

4.4. Query selectors

4.5. Navegación y modificación de atributos

4.6. Creación y modificación de nodos

4.7. Código de apoyo y ejercicios

4.8. Referencias bibliográficas

A fondo

Implementación de JSDOM

JS HTML DOM

Test
Esquema

Desarrollo Web: Full Stack 3


Tema 4. Esquema
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

4.1. Introducción y objetivos

El Document Object Model, más comúnmente conocido como DOM, es la

representación que cada navegador web hace de los elementos de la página web

que está mostrando al usuario. Se trata de una estructura en forma arbórea que,

además, permite que se interactúe con la misma. Entre otras cosas, el DOM permite:

▸ Cambiar el contenido de los elementos.

▸ Mover elementos de lugar.

▸ Modificar sus atributos.

▸ Alterar significativamente su estilo.

Todo ello se hace posible gracias a JavaScript. Dicho de otra manera, JavaScript es

el lenguaje de programación por defecto del DOM. En este caso, el DOM actúa como

un framework (marco de trabajo) o también mal llamado librería (debería traducirse

como biblioteca) con la que JavaScript adquiere cierta funcionalidad extra o


novedosa.

El DOM es un framework concreto dispuesto para JavaScript por parte

de los navegadores. Este framework permite a JavaScript interactuar

con las páginas web.

Podemos resumir el concepto de framework como el conjunto de código informático

y recursos asociados que posibilitan una cierta funcionalidad. Originalmente,

JavaScript nació exclusivamente para operar sobre el framework DOM, el cual viene

precargado en cada navegador web. Era, por tanto, un lenguaje de programación

atado a una librería concreta, en el buen y mal sentido de la expresión (a veces

resulta muy difícil desligar a un lenguaje de una librería concreta).

Desarrollo Web: Full Stack 4


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Estas librerías son una bendición y una condena para el lenguaje de turno. Desde

cierto punto de vista, ayudan a elevarlo al dotarlo de funcionalidades, quizás

asombrosas, pero desde otros ángulos, la comunidad de desarrolladores fija a fuego

en su mente que tal lenguaje solo sirve para usar tal framework.

Esta bendición o condena dual le ha pasado a JavaScript en dos ocasiones en su

historia. La primera fue, como ya hemos dicho, con el DOM. En la segunda, tuvo la

culpa la famosa librería jQuery.

Afortunadamente para JavaScript, con la aparición de Node.js y la llegada de ES6,

este lenguaje cobró relevancia propia, JavaScript se libró de las cadenas de la

dependencia. A pesar de esta merecida libertad, es innegable que JavaScript tiene

como principal cometido la manipulación del DOM y como principal escenario de uso

el navegador web. Por eso debemos estudiar estos conceptos. En realidad,

podríamos afirmar lo siguiente, el navegador web es un sistema operativo cuyo

lenguaje de programación nativo es JavaScript.

Con más detalle, en este tema veremos:

▸ Qué es el DOM.

▸ Cómo localizar elementos.

▸ Cómo navegar por el DOM.

▸ Cómo extraer y cambiar las propiedades de los elementos.

▸ Cómo actualizar el DOM.

Desarrollo Web: Full Stack 5


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

4.2. ¿Qué es el DOM?

Como decíamos, el Document Object Model o DOM representa a un documento

HTML como un árbol de ítems o nodos interconectados.

Para el DOM, cualquier cosa en una página web es un nodo: desde las etiquetas

HTML, junto con el texto dentro de las mismas, hasta incluso los atributos anexados

a las etiquetas. La etiqueta (tag) HTML es el nodo raíz y cualquier otra sección del

documento es un nodo «hijo» de este.

Por ejemplo, partamos desde el siguiente código HTML:

Figura1. Párrafo HTML. Fuente: elaboración propia.

Este tendría su representación como diagrama arbóreo DOM de la siguiente manera:

Figura 2. Diagrama arbóreo del DOM. Fuente: elaboración propia.

Desarrollo Web: Full Stack 6


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Como también hemos recalcado antes, el DOM no es JavaScript ni forma parte de

él. De hecho, el DOM es accesible desde otros lenguajes de programación, pero qué

duda cabe de que JavaScript es el más usado para esta tarea. En principio,

cualquiera de los lenguajes que compilan (o, como decíamos en su momento,

«transpilan») a JavaScript puede operar con el DOM.

El DOM nos provee de varios métodos para navegar por una página web. Te

estarás preguntando: si un método es una función propia de un objeto, ¿de qué

objeto estamos hablando cuando nos referimos a la palabra método?

Pues, efectivamente, el DOM como librería presenta a JavaScript un objeto concreto

que a su vez define un espacio de nombres, tal objeto es document.

Desarrollo Web: Full Stack 7


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

4.3. Un DOM virtual con JSDOM

¿Cómo es posible trabajar con un DOM y Node.js si este último es una

implementación de JavaScript para el servidor? Node.js no tiene, de entrada, acceso

a un DOM al que solicitarle cosas (¡no hay ningún navegador!). Pero antes de

continuar conviene introducir otro concepto, el de API (Application Programming

Interface).

Una API es el conjunto de funciones, variables, métodos, etc. que

expone un framework o librería.

Es decir, un framework incorpora mucha más información de la que nos permite

utilizar, de la que expone. Solo la API está a nuestra disposición. Un programa

basado en Node.js no tiene acceso a la API del DOM. Sin embargo, esto podemos

simularlo con el paquete JSDOM. Este framework para Node.js simula gran parte de

la funcionalidad de un navegador con un DOM virtual.

Para instalar JSDOM tenemos que usar el gestor de paquetes NPM e instalar el

paquete jsdom.

Figura 3. Instalación de JSDOM. Fuente: elaboración propia.

Desarrollo Web: Full Stack 8


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Ahora ya podemos usar JSDOM con un código como este:

Figura 4. Primeros pasos con JSDOM. Fuente: Elaboración propia

Si lo deseas, puedes ver el código fuente de JSDOM, ya que es público, en el

recurso de A fondo, Implementación de JSDOM.

Lo que estamos consiguiendo es crear un DOM sin necesidad de un navegador y a

partir de una cadena HTML sencilla ( <!DOCTYPE html><p>Hola!</p> ). Para mantener la

coherencia con la aplicación del DOM en un navegador, hemos definido la variable

intermedia document , que coincide con el nombre oficial que tiene el objeto principal

(y que define un espacio de nombres) del DOM cuando este es accedido desde el

navegador.

Si estuviéramos en un navegador, tendríamos acceso directo a este objeto document .

Desde este espacio de nombres podemos acceder a todo el contenido HTML de una

página web mediante la propiedad body. Ejemplo:

Figura 5. Obteniendo el body de un documento. Fuente: elaboración propia.

En este caso, se nos devuelve otro objeto ( cuerpoPagina ) de JavaScript. Este objeto,

a su vez, posee otros métodos y propiedades. Por ejemplo, la propiedad nodeType

nos dice qué tipo de nodo HTML es con un número entero:

Desarrollo Web: Full Stack 9


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Tabla 1. Ejemplo de lo que devolvería la propiedad nodeType. Fuente: elaboración propia.

Otra propiedad es nodeName , que devuelve el nombre del nodo:

Figura 6. Obteniendo el nombre de un nodo. Fuente: elaboración propia.

También hay otras propiedades sobre el objeto d o c u m e n t que pueden resultar

interesantes:

▸ document.images devuelve una lista con todas las imágenes de una página web.

▸ document.links devuelve una lista con todos los enlaces (elementos que tienen una

propiedad href cuyo contenido sea una URL).

▸ document.anchors devuelve una lista con todos los elementos de etiqueta que a la vez

tienen un atributo name.

▸ document.forms devuelve un array con todos los formularios (elementos de etiqueta

form ) del documento web.

En realidad, estas listas o array de elementos (u otros nodos) de los que estamos

hablando no son estrictamente array, sino una especie de pseudoarrays como los

que se pueden ver al tratar un número variable de argumentos de una función. En

Desarrollo Web: Full Stack 10


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

esos casos, usamos la palabra especial arguments.

Al igual que con arguments, las listas de nodos permiten usar la notación de índice,

por ejemplo, unArrayDeNodos[1].

También tienen una propiedad .length que devuelve el número de elementos. Sin
embargo, y nuevamente, al igual que arguments, los arrays de nodos no tienen otros

métodos propios de los arrays, tales como slice, join, etc. Afortunadamente, desde

ES6, es posible pasar de una lista de nodos a un array normal y corriente gracias al

método Array.from(listaNodos) . Ejemplo:

Figura 7. Creación de array a partir de una lista. Fuente: elaboración propia.

O podemos usar el operador de expansión (...) que hemos visto anteriormente:

Figura 8. Usando el operador de expansión para construir un array. Fuente: elaboración propia.

Localizar elementos mediante su identificador

El método getElementById() del objeto document hace exactamente lo que dice:

devuelve un elemento si le pasamos su identificador o id. Todo elemento (nodo) del

DOM puede tener una marca identificadora única que se etiqueta mediante el

atributo id. Ejemplo:

Figura 9. Uso de getElementById. Fuente: elaboración propia.

Localizar elementos mediante su etiqueta o tag

El método getElementsByTagName() devuelve una lista de nodos con todos aquellos

Desarrollo Web: Full Stack 11


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

elementos de una etiqueta determinada (h1, h3, li, ul, img, p, div, etc.). Fíjate que la

palabra «Elements» de getElementsByTagName está ahora en plural (en contraste con

su versión en singular de getElementById ).

Esto es así porque, por descontado, una página web puede tener uno o varios

elementos con la misma etiqueta, como imágenes (img), párrafos (p) o listas sin

orden (ul). Veamos un ejemplo:

Figura 10. Uso de getElementsByTagName. Fuente: elaboración propia.

Ahora podemos navegar por el array de elementos sin mayor problema como si de

u n array real se tratara (que ya hemos visto que se trata más bien de un

pseudoarray):

Figura 11. Obtención del primer elemento del pseudoarray. Fuente: elaboración propia.

Localizar elementos por su clase

Con el método getElementsByClassName() podemos obtener una colección de

elementos que comparten la misma clase. La clase en HTML es un atributo que

agrupa ciertos elementos con objetivos parecidos.

Figura 12. Obteniendo elementos a partir de su clase. Fuente: elaboración propia.

Desarrollo Web: Full Stack 12


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

4.4. Query selectors

Gracias a los métodos querySelector(selector) y querySelectorAll(selector) del objeto

document es posible realizar consultas al DOM utilizando selectores idénticos a los

selectores de CSS. Otros selectores que se pueden utilizar son los siguientes:

Tabla 2. Otros selectores. Fuente: elaboración propia.

El primero de los métodos, . querySelector(selector) , solo devuelve el primer elemento

encontrado. Es, por tanto, perfecto para buscar elementos por su identificador único.

Desarrollo Web: Full Stack 13


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Ejemplo:

Figura 13. Query selector #. Fuente: elaboración propia.

El método .querySelectorAll(selector) devuelve todos los elementos que cumplen un

selector, a partir del elemento raíz del DOM (el objeto document), por ejemplo:

Figura14. Query selector All. Fuente: elaboración propia.

Esto devuelve todos los elementos (una lista de nodos) cuya clase es saludo. En

realidad, el método querySelector() puede invocarse sobre cualquier nodo, no solo

document . Por ejemplo, supongamos que seleccionamos primero una lista ordenada a

partir de su etiqueta y su id:

Figura 15. Query selector sobre un nodo distinto de document 1 . Fuente: elaboración propia.

Pues ahora podemos buscar otros nodos dentro del nodo listaAlumnos de la siguiente

manera:

Figura 16. Query selector sobre un nodo distinto de document 2 . Fuente: elaboración propia.

Desarrollo Web: Full Stack 14


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

4.5. Navegación y modificación de atributos

Además de los métodos vistos anteriormente que nos permiten realizar consultas al

DOM para obtener uno o varios elementos de este, existen otras propiedades de

los nodos del DOM que nos facilitan la navegación por el árbol.

Algunas de estas propiedades son:

Tabla 3. Propiedades de navegación. Fuente: elaboración propia.

Un ejemplo sería:

Figura 18. Uso de firstChild. Fuente: elaboración propia.

Desarrollo Web: Full Stack 15


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

También es posible leer y modificar el valor de los atributos de los nodos del DOM

mediante los métodos .setAttribute(atributo, valor) y .getAttribute(atributo) . Estos nos

permiten establecer o leer el valor de un atributo. Por ejemplo, con el siguiente

código estaríamos modificando la clase de un nodo y luego la estaríamos leyendo

nuevamente:

Figura 19. Uso de setAttribute y getAttribute. Fuente: elaboración propia.

Desarrollo Web: Full Stack 16


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

4.6. Creación y modificación de nodos

E l framework del DOM incluye métodos para modificarlo en tiempo real. Estos

cambios se aplican en la página web mientras es visualizada y el usuario interactúa

con la misma. Es responsabilidad del navegador el estar atento a estos cambios y

aplicarlos. Veamos cómo se consigue este dinamismo.

Para empezar, tenemos la instrucción .createElement() que acepta como parámetro

una etiqueta y devuelve un elemento de dicho tipo (correspondiente a dicha

etiqueta). Por ejemplo:

Figura 20. Método createElement. Fuente: elaboración propia.

Hasta este punto el elemento ( elementoHola ) está vacío. Para completarlo con

contenido (por ejemplo, texto) tenemos que crear un nodo de texto. Para crear este

tipo de nodos, usamos el método .createTextNode(texto) . Por ejemplo:

Figura 21. Método createTextNode. Fuente: elaboración propia.

Hasta ahora tenemos un nodo de tipo h1 (hola) y un nodo de texto (textoHola) , pero no
están conectados. Es necesario enlazarlos. Esto lo conseguimos con el método

.appendChild(nodoTexto) llamado sobre el elemento elementoHola:

Figura 22. Método appendChild. Fuente: elaboración propia.

Desarrollo Web: Full Stack 17


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

El proceso podría resumirse así:

▸ Crear un nodo elemento (o raíz) con el método createElement (etiqueta).

▸ Crear un nodo de texto (en este caso) con el método createTextNode (texto).

▸ Enlazar ambos nodos mediante el método nodoRaiz.appendChild (nodoTexto).

Sin embargo, con esto no es suficiente. Disponemos de un nodo completo, pero no

está situado en ningún punto del árbol de nodos actual. Está «suelto» al no tener

ningún nodo padre.

Como habrás podido adivinar, esto se consigue también con el método con

.appendChild(nodoElemento) , pero ahora invocado, en lugar de sobre el objeto

document, sobre otro elemento del DOM cualquiera (otroElemento) en el que

queramos que nodoElemento aparezca incrustado como hijo (child).

Además de otroElemento.appendChild(nodoElemento) , tenemos insertBefore() e

insertAfter() .

Para borrar elementos tenemos unElemento.removeChild(nodoElemento) , donde

nodoElemento es un nodo que cuelga de unElemento .

Figura 23. Propiedad innerHtml. Fuente: elaboración propia.

Desarrollo Web: Full Stack 18


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Por último, puedes encontrar a continuación el enlace al vídeo Interactuando con el

DOM en el que se repasarán algunos de los conceptos que se han expuesto a lo

largo del tema.

Interactuando con el DOM

Accede al vídeo:

https://unir.cloud.panopto.eu/Panopto/Pages/Embed.aspx?id=f55fd46d-f065-
44f5-8b20-b1d800df1eea

Si deseas adquirir más conocimientos sobre el DOM, te recomendamos que

leas la documentación oficial que ha desarrollado el equipo de W3Schools, la

cual se encuentra en la sección de A fondo, en JS HTML DOM.

Desarrollo Web: Full Stack 19


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

4.7. Código de apoyo y ejercicios

Recuerda que tienes a tu disposición todo el código de apoyo necesario para el

correcto seguimiento de las clases en el repositorio global de GitHub de la

asignatura, en la sección de Código de apoyo de este tema.

UnirCs (s. f.). DWFS-GLOBAL/Tema_4/Codigo de ejemplo at master ·

UnirCs/DWFS-GLOBAL. GitHub. https://github.com/UnirCs/DWFS-


GLOBAL/tree/master/Tema_4/Codigo%20de%20ejemplo

Recuerda también que tienes a tu disposición los ejercicios de este tema en el

repositorio global de GitHub de la asignatura, en la sección de Ejercicios.

UnirCs (s. f.). DWFS-GLOBAL/Tema_4 at master · UnirCs/DWFS-GLOBAL.

GitHub. https://github.com/UnirCs/DWFS-GLOBAL/tree/master/Tema_4

Integración completa de HTML, CSS y JS usando DOM

Realizaremos un completo ejercicio que aunará todo lo visto hasta ahora. El objetivo

de este es trabajar con la API del DOM para modificar el contenido de una página

web. Trabajaremos con los recursos que hemos venido desarrollando para el

ejemplo del cine. Concretamente, la página HTML de reserva de butacas, su código

CSS y el archivo JavaScript que contenía el método para arrojar una sugerencia de

butacas.

Interconectaremos dos páginas HTML. La primera será un formulario de registro.

Puedes usar el que se muestra en el código de apoyo o crear uno por tu cuenta. Si
eliges la segunda opción, las validaciones que realices deben ser similares a las que

se realizan en el código de apoyo.

Desarrollo Web: Full Stack 20


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

La segunda página será la que ya tenemos creada, la de reserva de asientos.

Introduciremos un número de asientos para reservar, y, cuando cambiemos el valor

del input , veremos un cambio en algunas de las butacas, pasando a estar en un

estado de preselección. Serán, por supuesto, las butacas que la función suggest ha

devuelto. Para ello, debemos:

▸ Utilizar el formulario de registro del código de apoyo o uno creado por ti. En el JS

asociado a ese formulario, incluiremos una redirección a la página de reserva de


butacas. Para ello, hay dos opciones: usar la propiedad window.location.href (aquí
tienes más información) o usar la propiedad window.location.replace (aquí tienes más
información). La diferencia entre ambas es que la primera añade una entrada en el
historial del navegador, mientras que la segunda no. ¿Cuál crees que es la

adecuada en este caso?

▸ Modificar el archivo JS asociado a la página HTML de reserva de butacas. Deberás

asignar un id a cada uno de los asientos. Esto debe realizarse de forma dinámica
(mediante el DOM).

▸ Modificar el archivo JS asociado a la página HTML de reserva de butacas. En él,

añadirás los listeners que consideres para que, cuando se haga un cambio en el
input , se consiga el efecto deseado. Recuerda que tendrás que trabajar en este

punto con la API del DOM y con clases CSS.

▸ Asegurar que no hay ninguna referencia a código JS o CSS en las páginas HTML.

Únicamente, las referencias a archivos externos JS y CSS. No se aceptarán

soluciones que incluyan código JS o CSS en las páginas HTML.

Recuerda depurar en el navegador para facilitar tu proceso de

desarrollo.

Desarrollo Web: Full Stack 21


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Ejemplo de resultado

Puedes tomar como ejemplo este vídeo. Para el Look and feel del formulario, se ha
usado Materialize CSS. Es algo totalmente opcional, pero si no tienes experiencia en

diseño, es recomendable utilizar librerías como esta para agilizar el desarrollo y tener

resultados profesionales.

Desarrollo Web: Full Stack 22


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

4.8. Referencias bibliográficas

UnirCs. (s. f.). DWFS-GLOBAL/Tema_4/Ejercicios/Cinema at master · UnirCs/DWFS-

G L O B A L .G i t H u b . https://github.com/UnirCs/DWFS-

GLOBAL/tree/master/Tema_4/Ejercicios/Cinema

Página de Materialize. https://materializecss.com/

W3Schools.com. (s. f.). Window location.replace().

https://www.w3schools.com/jsref/met_loc_replace.asp

W3Schools.com. (s. f.). Window location.href.


https://www.w3schools.com/jsref/prop_loc_href.asp

Desarrollo Web: Full Stack 23


Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
A fondo

Implementación de JSDOM

GitHub. (2021, diciembre 2). Jsdom. https://github.com/jsdom/jsdom

Esta página web muestra todos los elementos HTML disponibles en HTML5 y cuenta

con ejemplos interactivos para cada uno de ellos.

Desarrollo Web: Full Stack 24


Tema 4. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

JS HTML DOM

W3Schoools. (s. f.). JavaScript HTML DOM.


https://www.w3schools.com/js/js_htmldom.asp

Esta página web muestra todos los elementos HTML disponibles en HTML5 y cuenta

con ejemplos para cada uno de ellos.

Desarrollo Web: Full Stack 25


Tema 4. A fondo
© Universidad Internacional de La Rioja (UNIR)
Test

1. ¿Qué devuelve innerHTML ?

A. El tipo de etiqueta del elemento sobre el que se invoca.

B. El contenido HTML de un elemento.

C. Nada.

D. Todas son incorrectas.

2. El DOM es:

A. Un framework incluido en jQuery.

B. Lo mismo que jQuery.

C. Una librería incluida solo en Microsoft Internet Explorer 6.0.

D. Todas son incorrectas.

3. ¿Qué funcionalidad tiene el método createElement() ?

A. Crea un nodo de tipo elemento.

B. Crea un nodo de tipo atributo.

C. Crea un nodo de tipo texto.

D. Crea un nodo de tipo número entero.

4. ¿Para qué sirve el selector resumido # ?

A. Para seleccionar todos los elementos con el mismo identificador único.

B. Para seleccionar todos los elementos con la misma clase.

C. Para seleccionar el primer elemento con un identificador único precedido

por el símbolo #.

D. Todas son incorrectas.

Desarrollo Web: Full Stack 26


Tema 4. Test
© Universidad Internacional de La Rioja (UNIR)
Test

5. ¿Qué permite JSDOM?

A. Trabajar con el DOM en el Netscape Navigator 2.0.

B. Trabajar con el DOM en programas escritos en Java.

C. Trabajar con el DOM en JavaScript.

D. Trabajar con el DOM en programas escritos en Node.js.

6. Para buscar elementos en el DOM es necesario usar el framework jQuery:

A. Verdadero.

B. Falso.

7. ¿Qué parámetro recibe el método getElementsByTagName ?

A. El ID de cada uno de los elementos, ordenados en un array de cadenas de

texto.

B. La etiqueta común a todos los elementos presentes en la página.

C. Ninguno.

D. Todas son incorrectas.

8. Cuántos tipos de nodos hay descritos por el DOM:

A. 8.

B. 4, principalmente.

C. 2.

D. 1.

9. ¿Qué organismo vela por el estado y revisiones del DOM?

A. Microsoft.

B. Apple y Google.

C. ISO, DIN y ECMA.

D. Todas son incorrectas.

Desarrollo Web: Full Stack 27


Tema 4. Test
© Universidad Internacional de La Rioja (UNIR)

También podría gustarte