Entendiendo el DOM

1

Manipulación del DOM con JavaScript para Páginas Dinámicas

2

Manipulación del DOM con JavaScript: Selección y Modificación de Elementos

3

Diferencias entre DOM y objeto Window en JavaScript

Seleccionando y Accesando a Elementos del DOM

4

Selección de Elementos del DOM con JavaScript

5

Métodos de navegación jerárquica en el DOM: padres e hijos

Manipulando Elementos del DOM

6

Atributos vs Propiedades en HTML y su Manipulación con JavaScript

7

JavaScript: Modificación Dinámica de Texto en HTML

8

Modificar estilos CSS con JavaScript

9

Manipulación de Clases con classList en JavaScript

10

Manipulación del DOM: Crear y Eliminar Elementos con JavaScript

11

Añadir Elementos de Forma Eficiente con insertAdjacentHTML

12

Crear nodos DOM: Uso de createElement en JavaScript

13

Eliminar Elementos del DOM: Métodos Remove y RemoveChild

14

Clonación y Reemplazo de Elementos con JavaScript

Manipulando Eventos en el DOM

15

Eventos JavaScript: Capturing y Bubbling en el DOM

16

Eventos en JavaScript: cómo añadir y quitar listeners en HTML

17

Eventos en JavaScript: Accediendo y Manipulando el DOM

18

Validación de Formularios con JavaScript: Evita Comportamientos por Defecto

19

Delegation Pattern en JavaScript: Optimización de Eventos Click

Creando un Administrador de Tareas

20

Construyendo un Task Manager con Persistencia usando Local Storage

21

Delegación de Eventos para Botones Borrar y Editar en JavaScript

22

Persistencia en Local Storage: Guardar y Recuperar Tareas

23

Edición y Sincronización de Tareas en Local Storage

24

JSON y Local Storage en Aplicaciones Web

25

Persistencia de Tema en JavaScript: Cambiar entre Light y Dark

26

Manipulación de DOM con JavaScript para Páginas Dinámicas

Asincronía en JavaScript

27

Programación Síncrona y Asíncrona en JavaScript: Call Stack y Web APIs

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

JavaScript: Modificación Dinámica de Texto en HTML

7/27
Recursos

¿Cómo modificar dinámicamente el texto de un elemento HTML?

Modificar el texto de un elemento HTML de manera dinámica es una habilidad esencial para cualquier desarrollador web. Este conocimiento te permite cambiar el contenido de una página web en respuesta a interacciones del usuario, mejorando significativamente la experiencia del usuario. A continuación, exploraremos cómo lograr esta modificación utilizando la consola del navegador y JavaScript.

¿Cómo seleccionar un elemento en el DOM?

Para modificar un texto, lo primero es seleccionar el elemento en el DOM que contiene ese texto. En nuestro ejemplo, trabajamos con un elemento H1, el cual queremos modificar:

  1. Abrir la consola del navegador: Con el documento HTML cargado en el navegador, abre la consola del desarrollador (generalmente con la tecla F12 o Ctrl+Shift+I).

  2. Guardar el elemento en una constante: Utilizamos document.querySelector para seleccionar el elemento y almacenarlo en una constante.

    const titulo = document.querySelector('#title');
    

    Aquí, #title denota un elemento con el ID title. Es importante usar el símbolo # para los IDs.

¿Cómo visualizar las propiedades de un nodo?

Una vez que hemos seleccionado el elemento, podemos explorar sus propiedades utilizando console.dir() para acceder a su representación en el DOM.

console.dir(titulo);

Esto nos permite visualizar varias propiedades del elemento, incluyendo textContent, que contiene el texto del nodo.

¿Cómo modificar el texto de un elemento?

A partir de este punto, podemos proceder a modificar directamente el contenido del texto utilizando dos métodos principales:

  1. Usar textContent: Este método actualiza el contenido de texto dentro del nodo.

    titulo.textContent = "Nuevo texto";
    

    Tras ejecutar este código, el texto visible del elemento H1 cambiará a "Nuevo texto".

  2. Usar innerText: Aunque similar a textContent, innerText también respeta los estilos CSS (como display: none) y puede ser más lento en rendimiento.

    titulo.innerText = "Este es otro título";
    

    Al usar innerText, el contenido se modifica de manera similar a textContent.

¿Cuál es la diferencia entre textContent e innerText?

Ambos métodos cambian el texto de un elemento, pero tienen ciertas diferencias clave:

  • textContent: Proporciona acceso al contenido textual completo del elemento y sus descendientes. Vuelve al actualizador de tiempos rápidos y es más eficiente, especialmente cuando el CSS no debe ser considerado.

  • innerText: Considera el estilo CSS al definir los valores de texto visibles. Es útil cuando deseas tener en cuenta las reglas de estilo de CSS en la interfaz de usuario.

Recomendaciones prácticas

  • Selecciona el método adecuado: Prefiere textContent para cambios de texto simples y innerText si necesitas que los estilos CSS impacten en la evaluación del contenido visual.
  • Prueba la eficiencia: Intenta experimentos con ambos métodos para entender mejor su contribución en diferentes situaciones en tu propio código.
  • Mantén el código limpio: Almacena los elementos en constantes o variables bien nombradas para un código más legible y mantenible.

Aplicar estos métodos no solo mejora tu comprensión del DOM sino que también te capacita para crear interfaces interactivas más atractivas y dinámicas. ¡Sigue explorando y fortaleciendo tus habilidades de desarrollo web!

Aportes 11

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Diferencias entre atributos/propiedades de texto: textContent: contiene el texto plano (sin etiquetas ni formatos) innerText:Contiene el texto despues de haberle aplicado Css. innerHtml: contiene el el texto y el formato y las etiquetas html. La seguridad de un sitio se puede ver afectada por la manipulacion de los 2 ultimos, abiendo la puerta a ataques xss de ser manejados de manera incorrecta.
La diferencia principal entre textContent e innerText es que text content edita el texto y NO tiene en cuenta el estilo del elemento, mientras que innerText solo puede editar textos que sean visibles por el usuario, es decir, que SÍ tiene en cuenta los estilos.
En el video 7 minuto 2:42 menciona que se ha modificado el título visualmente, PERO, cuando se menciona pero es para indicar que algo no se ha hecho, no para indicar PERO TAMBIEN, es importante ser precisos en los comentarios, dado que al ser videos cortos y no libros extensos, puede dar a entender cosas que no son.
innerText y textContent son dos propiedades de los nodos DOM en JavaScript que se utilizan para manipular el texto de los elementos HTML, pero tienen diferencias clave. - **innerText**: Devuelve el texto visible en el navegador, ignorando el texto oculto. También es sensible a los estilos CSS. - **textContent**: Devuelve todo el texto de un nodo, incluyendo el texto oculto. No tiene en cuenta los estilos. ### Ejemplo en HTML: ```html

Texto visible

Texto invisible

``` ### Código JavaScript: ```javascript let ejemplo = document.getElementById('ejemplo'); console.log(ejemplo.innerText); // "Texto visible" console.log(ejemplo.textContent); // "Texto visibleTexto invisible" ``` En resumen, usa innerText para obtener solo el texto que se ve, y textContent para obtener todo el texto del nodo.
ERROR EN EL EXAMEN DEL CURSO ![]()![](https://static.platzi.com/media/user_upload/000000000000-c16c8c0c-25d7-444f-849c-4726fef96600.jpg)
Min 2.55 De Granda se da cuenta que si se cambio en HTML like si entendiste.
**Diferencias entre textContent, innerText e innerHTML:** 1\. `textContent` * **Qué hace:** Devuelve o establece **todo el texto** dentro de un elemento, incluyendo el texto oculto (como el que está dentro de elementos con `display: none`). * **Ejemplo:**`
Hola Mundo
` `console.log(document.getElementById('ejemplo').textContent); // "Hola Mundo"` ### 2. `innerText` * **Qué hace:** Devuelve o establece **solo el texto visible** en la pantalla. Ignora el texto oculto (como el de elementos con `display: none`). * **Ejemplo:**`
Hola Mundo
` `console.log(document.getElementById('ejemplo').innerText); // "Hola"` ### 3. `innerHTML` * **Qué hace:** Devuelve o establece **todo el contenido HTML** dentro de un elemento, incluyendo etiquetas y texto. * **Ejemplo:**`
Hola Mundo
` `console.log(document.getElementById('ejemplo').innerHTML); // "Hola Mundo"` ### Resumen: * `textContent`**:** Todo el texto (visible y oculto). * `innerText`**:** Solo el texto visible. * `innerHTML`**:** Todo el contenido, incluyendo etiquetas HTML.
const title = document.getElementById("title"); // este sirve para clases  y id es mejor  \*/ const title = document.querySelector("#title"); // este no sirve para las clases si no para id title.innerText = " este es otro texto ";
Les comparto mis apuntes ```js // Obtenemos el elemento del DOM con el id "app-title" usando querySelector y lo almacenamos en la variable 'titulo' const titulo = document.querySelector("#app-title"); // Mostramos todas las propiedades y métodos del elemento 'titulo' en la consola usando 'console.dir()' console.dir(titulo); // Modificamos el texto dentro del elemento 'titulo' usando 'textContent' y lo cambiamos a "Nuevo Titulo" // 'textContent' establece o devuelve el contenido textual de un nodo, incluyendo el contenido de sus hijos console.dir(titulo.textContent = "Nuevo Tituto"); // Usamos 'innerText' para cambiar el contenido textual a "Este es otro titulo" // 'innerText' solo devuelve o establece el contenido visible del elemento, sin incluir los nodos ocultos o con CSS 'display: none' titulo.innerText = "Este es otro titulo"; ```
De manera general, el mas usado es textContent, sin embargo, si queremos insertar imagenes o codigo html directo, usamos innerHtml. innerText es como textContent pero tiene en cuenta si el contenido es visible o no, si es visible lo edita, si no, no.
teniendo en cuenta la sincronizacion entre atributos y propiedades,¿ no es mas recomendable hacer los cambios en el html cambiando los atributos directamente y no las propiedades? que ventajas representa hacerlo con querySelector y no con getelement?