DEW · Tema 6: Modelo de objetos del documento en javascript

Tema 6: Modelo de objetos del documento en javascript es uno de los temas públicos de Desarrollo Web Entorno Cliente dentro de TesIA Exam. Aquí puedes localizar preguntas indexables, tests, cuestionarios y exámenes que lo incluyen.

30 preguntas 3 exámenes Material de estudio público

Cómo estudiar este tema

Primero lee el resumen completo para fijar el marco del tema. Después usa la guía de estudio para ordenar el repaso y termina con las preguntas, revisando siempre la respuesta correcta y la explicación breve.

Esta página pública está pensada para consulta y repaso. Para practicar con progreso, favoritos y modo examen puedes continuar dentro de TesIA Exam con los mismos exámenes relacionados.

Material de estudio disponible

Aquí se muestran el resumen completo, la guía completa y los recursos públicos enlazados del tema para que la página sea útil también fuera de la app.

Resumen del tema

Modelo de Objetos del Documento (DOM) y Gestión de Eventos en JavaScript

Resumen Ejecutivo

El Modelo de Objetos del Documento (DOM) representa la infraestructura crítica que permite a JavaScript interactuar de manera dinámica con documentos HTML y XML. Concebido como una Interfaz de Programación de Aplicaciones (API), el DOM organiza el contenido de una página web en una estructura jerárquica de "árbol de nodos", donde cada elemento, atributo y fragmento de texto es un objeto manipulable en tiempo real.

Los hallazgos principales de este análisis técnico incluyen:

* Estructura Jerárquica: El documento se transforma en un árbol donde el nodo raíz es siempre document. Las modificaciones en este árbol se reflejan instantáneamente en el navegador del cliente.
* Capacidad de Manipulación: JavaScript posee herramientas para crear, borrar, mover y modificar cualquier componente del documento, desde celdas de tablas hasta estilos y contenidos textuales.
* Gestión de Eventos: El sistema de eventos es el motor de la interactividad. Existen múltiples modelos de registro (Línea, Tradicional, W3C y Microsoft), siendo el modelo del W3C el estándar actual, aunque persisten retos de compatibilidad entre navegadores (especialmente con versiones antiguas de Internet Explorer).
* Fragmentación de Estándares: Aunque el W3C dicta los niveles del DOM (1, 2 y 3), la implementación varía entre navegadores, obligando a los desarrolladores a emplear técnicas de programación cross-browser.


--------------------------------------------------------------------------------


1. Fundamentos y Estructura del DOM

El DOM define los objetos, propiedades y métodos para acceder y manipular elementos de un documento. Es el responsable de transformar el código fuente en una estructura de objetos interconectados.

1.1. Niveles del DOM (W3C)

La especificación ha evolucionado en diferentes etapas, no siempre sincronizadas con el desarrollo de los navegadores:

* DOM Core: Modelo estándar para cualquier documento estructurado.
* DOM XML: Específico para documentos XML.
* DOM HTML: Define el acceso y manipulación de elementos HTML.
* Evolución Cronológica: El Nivel 1 incluyó lo que se conoce extraoficialmente como "DOM Nivel 0". El Nivel 2 introdujo el modelo de eventos y estilos, mientras que el Nivel 3 continúa expandiendo estas capacidades.

1.2. El Árbol de Nodos y Tipos de Elementos

El navegador transforma cada etiqueta HTML en un nodo. Se identifican 12 tipos de nodos, aunque los más relevantes son:

1. Document: Nodo raíz de todo el árbol.
2. Element: Representa las etiquetas HTML; es el único que puede contener otros nodos o atributos.
3. Attr: Representa los pares atributo-valor de una etiqueta.
4. Text: Contiene el texto encerrado por una etiqueta.
5. Comment: Representa los comentarios en el código HTML.


--------------------------------------------------------------------------------


2. Acceso y Manipulación de Nodos

Para interactuar con el DOM, es imperativo que la página esté completamente cargada. El acceso puede ser directo o mediante navegación por la jerarquía (padres e hijos).

2.1. Métodos de Acceso Directo

Método Descripción Retorno
getElementById(id) Acceso directo por identificador único. Un solo nodo.
getElementsByName(name) Busca elementos por el atributo name. Colección de nodos.
getElementsByTagName(tag) Busca elementos por su etiqueta (ej. input, td). Colección de nodos.

Nota técnica: Las colecciones obtenidas no son arrays estrictos; permiten lectura y recorrido, pero no soportan métodos como push() o pop().

2.2. Manipulación de Atributos y Texto

* Atributos: Se gestionan mediante la colección attributes o métodos específicos como getAttribute(), setAttribute() y removeAttribute(). También es posible el acceso directo como propiedad del objeto (ej. elemento.type = "password").
* Nodos de Texto: Se accede a ellos mediante childNodes[] o firstChild. El contenido se recupera o modifica con la propiedad nodeValue. Cabe destacar que el tamaño máximo almacenable en un nodo de texto puede variar según el navegador.

2.3. Creación y Borrado de Nodos

El DOM permite la actualización dinámica del documento mediante:

* Creación: createElement(etiqueta) y createTextNode(texto).
* Inserción: appendChild(nuevoNodo) (al final), insertBefore(nuevo, referencia) o replaceChild(nuevo, viejo).
* Clonación: cloneNode(true) para copiar un nodo y sus descendientes.
* Eliminación: element.removeChild(referenciaAlHijo).


--------------------------------------------------------------------------------


3. Propiedades y Métodos del Objeto Nodo (Nivel 2)

El estándar Nivel 2 del W3C define propiedades críticas para la navegación entre nodos, soportadas de forma extensiva por navegadores modernos (Mozilla, Safari, Chrome) y parcialmente por versiones antiguas de Internet Explorer.

Propiedad Descripción
nodeName / nodeValue Nombre y valor según el tipo de nodo.
parentNode Referencia al contenedor padre.
childNodes Array con todos los hijos en orden.
firstChild / lastChild Referencias al primer y último hijo.
previousSibling / nextSibling Referencia a nodos hermanos contiguos.


--------------------------------------------------------------------------------


4. Gestión y Modelos de Eventos

Los eventos permiten que JavaScript reaccione a las acciones del usuario (ratón, teclado) o estados del navegador (carga del documento).

4.1. Modelos de Registro

1. En línea: Eventos como atributos HTML (onClick). Obsoleto por mezclar estructura y lógica.
2. Tradicional: Asignación como propiedad del objeto (elemento.onclick = funcion). Muy compatible pero limitado.
3. Avanzado W3C: Usa addEventListener() y removeEventListener(). Permite múltiples manejadores y control de fases.
4. Microsoft: Usa attachEvent() y detachEvent(). No soporta la palabra reservada this.

4.2. Flujo de Disparo y Propagación

Cuando los elementos están anidados, el orden de ejecución se define por tres modelos:

* Captura: Del exterior hacia el interior (padre a hijo).
* Burbujeo (Bubbling): Del interior hacia el exterior (hijo a padre).
* Modelo W3C: Ejecuta primero la fase de captura y luego la de burbujeo.

Se pueden controlar estos flujos mediante preventDefault() (cancela la acción por defecto) y stopPropagation() (detiene el burbujeo).

4.3. Tipos de Eventos Críticos

El análisis destaca los eventos de ratón y teclado por su complejidad y frecuencia de uso:

* Ratón: click, dblclick, mousedown, mouseup, mouseover, mousemove y mouseout.
* Teclado: keydown (presión inicial) y keypress (tras la presión).
* Otros: Formulario, carga de marcos (frame) y mutación (cambios estructurales).


--------------------------------------------------------------------------------


5. Consideraciones de Compatibilidad (Cross-Browser)

Dada la implementación dispar del DOM y los eventos entre fabricantes, es fundamental programar soluciones que detecten las capacidades del navegador. Un ejemplo es la creación de funciones envolventes que prioricen addEventListener del W3C, seguidas por attachEvent de Microsoft y, finalmente, el registro en línea como último recurso. Esta metodología garantiza que las aplicaciones web funcionen correctamente en un entorno multi-cliente.

Guía de estudio

Guía de Estudio: Modelo de Objetos del Documento (DOM) y Gestión de Eventos en JavaScript

Esta guía de estudio ha sido diseñada para profundizar en el conocimiento del Modelo de Objetos del Documento (DOM) y el manejo de eventos en JavaScript, basándose en los estándares del W3C y las implementaciones en diferentes navegadores.


--------------------------------------------------------------------------------


Cuestionario de Repaso (Preguntas de respuesta corta)

1. ¿Qué es el Modelo de Objetos del Documento (DOM) y quién es el responsable de su estándar? El DOM es una interfaz de programación de aplicaciones (API) que proporciona un conjunto estándar de objetos para representar documentos HTML y XML, permitiendo manipular su contenido, estructura y estilo. El responsable de su desarrollo y mantenimiento es el World Wide Web Consortium (W3C).

2. Explique la diferencia entre los métodos getElementById() y getElementsByTagName(). getElementById() permite acceder directamente a un único elemento mediante su identificador único (ID), devolviendo solo ese nodo. Por otro lado, getElementsByTagName() obtiene una colección de todos los elementos cuya etiqueta coincida con el parámetro indicado, permitiendo acceder a ellos mediante índices.

3. ¿Qué representa la estructura conocida como "árbol de nodos" en el contexto del DOM? Es una representación jerárquica donde el navegador transforma el documento HTML en un conjunto de objetos conectados llamados nodos. El nodo raíz es siempre document, y a partir de él se despliegan nodos de tipo elemento, texto o atributo, estableciendo relaciones de padres e hijos.

4. ¿Cuáles son los cinco tipos de nodos más utilizados habitualmente por los programadores? Los tipos más comunes son: Document (nodo raíz), Element (etiquetas HTML), Attr (atributos de las etiquetas), Text (contenido textual dentro de una etiqueta) y Comment (comentarios en el código HTML).

5. Describa brevemente cómo se accede y se modifica un nodo de tipo atributo. Se puede acceder a través de la colección attributes de un elemento, usando nodeName para el nombre y nodeValue para el valor. También existen métodos directos como getAttribute() para consultar el valor, setAttribute() para crear o modificarlo, y removeAttribute() para eliminarlo.

6. ¿Qué función cumplen los métodos createElement() y appendChild()? createElement() se utiliza para crear un nuevo nodo de tipo elemento (como un párrafo o una imagen) en la memoria. appendChild() se encarga de insertar ese nuevo nodo (u otro existente) como el último hijo de un nodo específico en el árbol del DOM.

7. ¿En qué consisten los modelos de "burbujeo" y "captura" de eventos? El modelo de captura dispara los eventos desde el elemento más externo hacia el interior hasta llegar al objetivo. El modelo de burbujeo funciona a la inversa, disparando el evento desde el elemento interno hacia afuera, subiendo por la jerarquía de ancestros.

8. ¿Cuál es la principal desventaja del modelo de registro de eventos en línea? Su principal desventaja es que integra el código JavaScript directamente dentro de los atributos HTML, lo cual no es recomendado actualmente. La práctica moderna busca la separación total entre la estructura del documento (HTML) y la lógica de programación (JavaScript).

9. ¿Qué diferencia existe entre el modelo de eventos del W3C y el de Microsoft (IE)? El W3C utiliza addEventListener() y permite elegir entre las fases de captura o burbujeo, mientras que el modelo de Microsoft usa attachEvent(), solo admite burbujeo y no permite el uso de la palabra reservada this para referenciar al objeto.

10. ¿Cómo se puede evitar que un evento realice su acción por defecto o se siga propagando? Para cancelar la acción predeterminada (como el envío de un formulario) se utiliza el método preventDefault(). Para detener la propagación del evento hacia otros elementos en la fase de burbujeo, se emplea el método stopPropagation().


--------------------------------------------------------------------------------


Clave de Respuestas

Pregunta Concepto Clave Referencia de Verificación
1 API / W3C Definición fundamental del DOM.
2 Métodos de acceso Diferencia entre ID único y colecciones por etiqueta.
3 Jerarquía Relación padre-hijo y nodo raíz document.
4 Tipología de nodos Identificación de los 5 nodos principales (Document, Element, Attr, Text, Comment).
5 Manipulación de atributos Uso de setAttribute, getAttribute y la colección attributes.
6 Creación/Inserción El flujo de crear en memoria e insertar en el árbol.
7 Propagación Dirección del flujo del evento (afuera-adentro vs adentro-afuera).
8 Separación de capas Crítica al modelo de eventos en línea por mezclar HTML y JS.
9 Incompatibilidad Comparativa entre addEventListener y attachEvent.
10 Control de flujo Funcionalidad de preventDefault y stopPropagation.


--------------------------------------------------------------------------------


Temas de Ensayo Sugeridos

1. Evolución y Niveles del DOM: Analice el desarrollo del DOM desde el Nivel 0 hasta el Nivel 3, discutiendo cómo cada etapa ha añadido funcionalidades para estilos, eventos y estructuras, y el papel de los navegadores en la adopción de estos estándares.
2. Manipulación Dinámica de Documentos: Explique detalladamente el proceso de modificar una página web en tiempo real mediante el DOM, cubriendo la selección de nodos, la creación de nuevos elementos y la gestión de contenido textual.
3. El Objeto Evento y su Importancia en la Interactividad: Discuta cómo el objeto Event permite a los desarrolladores capturar información específica del usuario (teclado y ratón) y por qué es la base de la interactividad en las aplicaciones web modernas.
4. Desafíos del Desarrollo Cross-browser: Evalúe las dificultades que enfrentan los programadores debido a las implementaciones parciales del DOM y los eventos en diferentes navegadores, y proponga soluciones mediante funciones que unifiquen el comportamiento.
5. Análisis Comparativo de los Modelos de Propagación: Compare los modelos de captura y burbujeo, y explique cómo el modelo integrado del W3C permite un control preciso sobre el orden de ejecución de los scripts en elementos anidados.


--------------------------------------------------------------------------------


Glosario de Términos Clave

* API (Application Programming Interface): Interfaz de programación que define un conjunto de reglas y objetos para que diferentes programas se comuniquen; en este caso, entre JavaScript y el documento.
* Atributo (Attr): Nodo que representa las propiedades de una etiqueta HTML (como id, name, type, etc.) expresadas como pares nombre-valor.
* Burbujeo (Bubbling): Fase de disparo de eventos que se propaga desde el elemento hijo hacia el padre.
* Captura (Capture): Fase de disparo de eventos que se propaga desde el elemento raíz hacia el elemento objetivo.
* Colección (Collection): Estructura similar a un array que contiene nodos del DOM; permite recorrerse pero no admite métodos de array como push o pop.
* DOM (Document Object Model): Estructura jerárquica de objetos que representa un documento HTML o XML para su manipulación programática.
* Evento (Event): Acción detectada por el navegador, ya sea iniciada por el usuario (click, tecla presionada) o por el sistema (carga de página), que puede disparar un script.
* Nodo (Node): Cada uno de los elementos u objetos individuales que componen el árbol del DOM.
* W3C (World Wide Web Consortium): Organismo internacional que produce estándares para asegurar el crecimiento a largo plazo de la Web.
* W3C DOM Nivel 2: Especificación que introdujo mejoras significativas, incluyendo el modelo de eventos avanzado y mayor soporte para estilos y jerarquías.

Preguntas, respuestas y explicaciones del tema

Listado público sin duplicados de las preguntas del tema, con su respuesta correcta y una explicación breve para facilitar el estudio y el repaso desde buscadores.

#1

8. Escribe el nombre del evento de teclado que falta: keypress, kayuр у

Tipo: respuesta en texto libre.

Respuesta correcta
  • keydown
Explicación:

La respuesta correcta es keydown. Este evento se dispara cuando una tecla es presionada, a diferencia de keypress que se dispara cuando se genera un carácter y keyup que se dispara cuando se suelta la tecla.

#2

4. En el modelo de registro de eventos del W3C podremos indicar que un evento se dispare en la fase de captura poniendo el tercer parámetro de la función de registro de ese evento a un valor true: ¿Verdadero o Falso?

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

A) Verdadero

Explicación:

La respuesta correcta es A. En el modelo de registro de eventos del W3C, el tercer parámetro de la función de registro de eventos, cuando se establece en true, indica que el evento debe dispararse durante la fase de captura. Esto permite que los manejadores de eventos se activen antes de que el evento llegue a su destino final.

#3

10. Para conocer el valor que contiene un atributo de un elemento HTML se puede usar el método

  1. A) checkAttribute()
  2. B) Attribute()
  3. C) Attributes()
  4. D) getAttribute()
Respuesta correcta

D) getAttribute()

Explicación:

La respuesta correcta es D. El método getAttribute() devuelve el valor del atributo especificado en el elemento.

#4

9. Para crear un nuevo nodo en el árbol del DOM emplearemos el método:

  1. A) createElement()
  2. B) createNode()
  3. C) addNode()
  4. D) addElement()
Respuesta correcta

A) createElement()

Explicación:

La respuesta correcta es A. El método createElement() es el que se utiliza específicamente para crear un nuevo elemento (nodo) en el DOM, listo para ser insertado posteriormente. Los otros métodos mencionados no son parte de la API estándar del DOM para esta tarea.

#5

5. Para conocer el valor que contiene un atributo de un elemento HTML, se puede usar la propiedad

  1. A) val
  2. B) nodeValue
  3. C) value
  4. D) attribute.value
Respuesta correcta

B) nodeValue

Explicación:

La respuesta correcta es B. nodeValue se utiliza para obtener el valor de un nodo de texto, que es lo que contiene el valor de un atributo HTML. value se usa para elementos de formulario como input o textarea.

#6

6. ¿Cuando se produce el evento keypress?

  1. A) Al presionar una tecla sin soltarla.
  2. B) En el instante de presionar una tecla.
Respuesta correcta

B) En el instante de presionar una tecla.

Explicación:

La respuesta correcta es B. El evento keypress se dispara en el momento exacto en que una tecla es presionada, no mientras se mantiene pulsada.

#7

8. KeyCode y charCode siempre devuelven el mismo tipo de información independientemente del navegador utilizado. ¿Verdadero o Falso?

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

B) Falso

Explicación:

La respuesta correcta es B. Históricamente, la implementación de keyCode y charCode ha sido muy inconsistente entre diferentes navegadores (IE vs Firefox/Chrome), devolviendo códigos diferentes para la misma tecla según el evento (keydown vs keypress).

#8

8. Para saber el nombre de un determinado atributo en un elemento HTML se usa la propiedad:

  1. A) nodeName
  2. B) name
  3. C) attribute.name
  4. D) ElementAttrName
Respuesta correcta

A) nodeName

Explicación:

La respuesta correcta es A. La propiedad nodeName devuelve el nombre del nodo, que para un elemento HTML es el nombre de la etiqueta. Las otras opciones no son propiedades estándar para obtener el nombre de un atributo.

#9

10. Para añadir un nodo hijo a un nodo ya existente emplearemos el método:

  1. A) createChild()
  2. B) addChild()
  3. C) appendChild()
  4. D) addChildElement()
Respuesta correcta

C) appendChild()

Explicación:

La respuesta correcta es C. appendChild() es el método fundamental para insertar un nodo como el último hijo de un elemento padre.
Las otras opciones no existen en el modelo de objetos del documento (DOM) o son errores tipográficos sin sentido técnico.

#10

3. ¿Con que método seleccionaremos todos los objetos de un documento por su atributo name?

  1. A) getElementsByTagName()
  2. B) getElementByTagName()
  3. C) getElementsByName()
  4. D) getElementByName()
Respuesta correcta

C) getElementsByName()

Explicación:

La respuesta correcta es C. El método getElementsByName() se utiliza para seleccionar todos los elementos de un documento que tienen un atributo name específico. Es importante recordar la "s" al final de "Elements" para indicar que se seleccionarán múltiples elementos.

#11

2. Cuando hablamos de la raiz del DOM en un documento HTML estamos haciendo referencia a un nodo especial denominado "html", Verdadero o Falso?

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

B) Falso

Explicación:

La respuesta correcta es B. El nodo raíz del DOM se denomina "document", no "html". El elemento html es un hijo directo de este nodo raíz.

#12

7. Para acceder al objeto Event en los navegadores de Microsoft antiguos se hace a través del objeto window ¿Verdadero o Falso?

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

A) Verdadero

Explicación:

La respuesta correcta es A. En versiones antiguas de Internet Explorer (Microsoft), el objeto de evento no se pasaba como parámetro, sino que era una propiedad global del objeto window.

#13

1. Cuando se dispara un evento todos los datos del evento disparado estarán en el objeto Event ¿En el modelo W3C cómo se pasa la referencia a ese objeto?

  1. A) A través del abjeto Window
  2. B) Tendremos que acceder al objeto donde programamos el evento y en la propiedad event tendremos la referencia.
  3. C) Lo hace el navegador de forma automática en el parámetro que pongamos en la función que gestiona el evento.
  4. D) No es necesario pasar ninguna referencia, siempre estará disponible el objeto Event en todo momento.
Respuesta correcta

C) Lo hace el navegador de forma automática en el parámetro que pongamos en la función que gestiona el evento.

Explicación:

La respuesta correcta es C. Según el estándar del W3C, cuando se invoca la función manejadora, el navegador pasa automáticamente el objeto de evento como el primer argumento.

#14

9. Para crear un nuevo nodo de tipo Texto en el árbol del DOM emplearemos el método

  1. A) createElement()
  2. B) createTextNode()
  3. C) createNode()
  4. D) addTextElement()
Respuesta correcta

B) createTextNode()

Explicación:

La respuesta correcta es B. El método document.
createTextNode() se utiliza específicamente para crear un nuevo nodo que contiene texto plano, el cual luego puede ser insertado dentro de un elemento HTML. createElement se usa para etiquetas, no para texto.

#15

9. ¿Cuál es el método del W3C que nos permite eliminar un evento?

  1. A) removeEventListener()
  2. B) removeEvent()
  3. C) deteteEvent()
  4. D) detachEvent()
Respuesta correcta

A) removeEventListener()

Explicación:

La respuesta correcta es A. Este es el método estándar para eliminar un escuchador de eventos previamente añadido con addEventListener.

#16

1. ¿Qué quiere decir DOM?

  1. A) Direct Objects Model
  2. B) Document Oriented Model.
  3. C) Domain Objects Model.
  4. D) Document Object Model.
Respuesta correcta

D) Document Object Model.

Explicación:

La respuesta correcta es D. DOM son las siglas de Document Object Model.
Es una interfaz de programación que permite a los scripts acceder y actualizar dinámicamente el contenido, la estructura y el estilo de los documentos HTML.

#17

6. Las coordenadas donde está el ratón relativas al documento, se encuentran en las propiedades

  1. A) clientX,clientY
  2. B) offsetX,offsetY
  3. C) screenX,screenY
  4. D) pageX,pageY
Respuesta correcta

D) pageX,pageY

Explicación:

La respuesta correcta es D. pageX y pageY representan las coordenadas del ratón relativas al borde superior izquierdo del documento, lo que las hace ideales para rastrear la posición del ratón en el contenido de la página web. clientX y clientY son relativas a la ventana del navegador, y screenX y screenY son relativas a la pantalla del monitor.

#18

3. Escribe el nombre de la propiedad que nos indica qué botón hemos pulsado en el ratón, según el modelo W3C

Tipo: respuesta en texto libre.

Respuesta correcta
  • button
Explicación:

La respuesta correcta es button. Esta propiedad, button, es fundamental en el manejo de eventos del ratón en JavaScript, ya que identifica de forma precisa qué botón específico (izquierdo, derecho o central) ha sido presionado por el usuario.

#19

2. ¿Con que método del modelo de registro de eventos del W3C, podremos detener la propagación de un evento en la fase de burbujeo?

  1. A) stopEvent()
  2. B) stopPropagation()
  3. C) stopEventPropagation()
  4. D) preventDefault()
Respuesta correcta

B) stopPropagation()

Explicación:

La respuesta correcta es B. El método stopPropagation() detiene la propagación del evento hacia los nodos padres en la fase de burbujeo, permitiendo un control preciso sobre cómo se manejan los eventos en el DOM. preventDefault() solo evita la acción por defecto del evento, no su propagación.

#20

6. Asocia cada evento con su descripción:

Tipo: relacionar columnas.

Columna A

  • mousedown
  • mouseup
  • click
  • mouseover
  • mouseout

Columna B

  • Cuando el usuario presiona el botón sobre un elemento
  • Cuando el usuario suelta el botón del ratón.
  • Presionar y soltar el botón sobre un elemento sin mover el ratón
  • Cuando el ratón pasa sobre un elemento.
  • Cuando el ratón sale de un elemento
Respuesta correcta
  • mousedown -> Cuando el usuario presiona el botón sobre un elemento
  • mouseup -> Cuando el usuario suelta el botón del ratón.
  • click -> Presionar y soltar el botón sobre un elemento sin mover el ratón
  • mouseover -> Cuando el ratón pasa sobre un elemento.
  • mouseout -> Cuando el ratón sale de un elemento
Explicación:

La respuesta correcta es la relación directa según las definiciones del DOM. mousedown ocurre al presionar, mouseup al soltar, y el click es la combinación de ambos sin desplazamiento. mouseover y mouseout gestionan la entrada y salida del puntero sobre el área del elemento respectivamente.

#21

7. Si queremos crear un nuevo atributo en un elemento HTML emplearemos el método

  1. A) addAttribute()
  2. B) createAttribute()
  3. C) setAttribute()
  4. D) getAttribute()
Respuesta correcta

C) setAttribute()

Explicación:

La respuesta correcta es C. Este método permite establecer el valor de un atributo en el elemento indicado; si el atributo no existe, lo crea automáticamente.

#22

4. La instrucción que nos indica el número de atributos que tiene un elemento con Id "apellidos"

  1. A) document.getElementById("apellidos").attr.length();
  2. B) document.getElementById("apellidos").length;
  3. C) document.getElementById("apellidos").attributes.length;
  4. D) document.getElementById("apellidos").attributes.length();
Respuesta correcta

C) document.getElementById("apellidos").attributes.length;

Explicación:

La respuesta correcta es C. El objeto attributes de un elemento HTML contiene una colección de todos sus atributos, y la propiedad length de esta colección nos da el número total de atributos.

#23

5. ¿Cuál es el método del W3C que nos permite registrar un evento? :

  1. A) attachEvent()
  2. B) addEvent()
  3. C) createEvent()
  4. D) addEventListener()
Respuesta correcta

D) addEventListener()

Explicación:

La respuesta correcta es D. El método addEventListener() es el estándar definido por el W3C para registrar escuchadores de eventos en un elemento.

#24

3. EI DOM tambien puede recibir el nombre de árbol de nodos: ¿Verdadero o Falso?

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

A) Verdadero

Explicación:

La respuesta correcta es A. El Modelo de Objetos del Documento (DOM) estructura el documento HTML o XML como una jerarquía ramificada.

#25

2. Entre los diferentes tipos de nodos del DOM podemos citar: element, attr, text, comment, ¿Verdadero o Falso?

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

A) Verdadero

Explicación:

La respuesta correcta es A. El DOM define varios tipos de nodos para representar el documento.
Element representa etiquetas HTML, 'attr' los atributos, 'text' el contenido textual y 'comment' los comentarios.

#26

4. ¿Con que método seleccionaremos todos los objetos de un documento por su etiqueta HTML?

  1. A) getElementsByTagName()
  2. B) getElementByTagName()
  3. C) getElementsByName()
  4. D) getHtmlElementByTag()
Respuesta correcta

A) getElementsByTagName()

Explicación:

La respuesta correcta es A. getElementsByTagName() es el método correcto para seleccionar todos los elementos de un documento que coinciden con una etiqueta HTML específica. getElementByTagName() es incorrecto porque le falta la 's' en 'Elements', y getElementsByName() busca por el atributo 'name', no por la etiqueta.

#27

10. En el modelo de registro de eventos de Microsoft, también podemos usar la palabra reservada this, de la misma forma que se usa en los otros dos modelos de registro de eventos ¿Verdadero Falso?

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

B) Falso

Explicación:

La respuesta correcta es B. En el modelo antiguo de Microsoft (attachEvent), la palabra clave 'this' dentro de la función manejadora no apuntaba al elemento que recibía el evento, sino al objeto global window, lo que rompe la consistencia con los otros.

#28

7. La propiedad relatedTarget hace referencia al objeto donde hemos hecho click ¿Verdadero o Falso?

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

B) Falso

Explicación:

La respuesta correcta es B. La propiedad relatedTarget se utiliza principalmente en eventos como mouseover o mouseout para identificar el elemento del que proviene o hacia el que se dirige el ratón.

#29

5. ¿Cuantos niveles del DOM define el W3C?

  1. A) 0
  2. B) 1
  3. C) 2
  4. D) 3
Respuesta correcta

D) 3

Explicación:

La respuesta correcta es D. El W3C define tres niveles del DOM: Core, HTML y XML. Estos niveles proporcionan una interfaz estandarizada para acceder y manipular documentos.

#30

1. La colección childNotes, contiene todos los elementos hijos de un determinado elemento ¿Verdadero o Falso?

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

A) Verdadero

Explicación:

La respuesta correcta es A. La colección childNodes en DOM (Document Object Model) efectivamente contiene todos los nodos hijos de un elemento, incluyendo nodos de texto y comentarios, no solo los elementos.

Exámenes que incluyen este tema

Practicar este tema en TesIA Exam

Abre la app para entrenar este contenido en modo estudio o examen y guardar tu progreso.

Abrir TesIA Exam