Manipulación del DOM en TypeScript
Este artículo explica la manipulación del DOM en TypeScript.
Aprenderás cómo manipular elementos del DOM y cómo agregar o eliminar elementos del árbol del DOM a través de ejemplos de código.
YouTube Video
Manipulación del DOM en TypeScript
La manipulación del DOM en TypeScript se realiza de manera similar a JavaScript, pero TypeScript proporciona verificación de tipos, haciendo las operaciones más seguras. El DOM (Modelo de Objetos del Documento) es un modelo de objetos utilizado para manipular documentos HTML y XML de manera programática. Permite acceder a las páginas mostradas en el navegador, agregar o eliminar elementos, o cambiar estilos.
Presentemos los métodos básicos para manipular el DOM utilizando TypeScript.
Obteniendo elementos del DOM
Usa el objeto document
para obtener elementos HTML. Se suelen utilizar los siguientes métodos:.
document.getElementById
document.getElementById
obtiene el elemento con el atributo ID especificado.`.
1// Type is HTMLElement | null
2const element = document.getElementById('myElement');
3if (element) {
4 console.log(element.innerHTML);
5}
document.getElementById
recupera el elemento con el ID especificado y te permite acceder a su contenido si existe.`.
document.querySelector
document.querySelector
recupera el primer elemento que coincide con el selector CSS.`.
1// Type is Element | null
2const element = document.querySelector('.myClass');
3if (element) {
4 console.log(element.textContent);
5}
document.querySelector
recupera el primer elemento que coincide con el selector CSS especificado y te permite acceder a su contenido si existe.`.
document.querySelectorAll
document.querySelectorAll
recupera todos los elementos que coinciden con el selector CSS.`.
1// Type is NodeListOf<HTMLDivElement>
2const elements = document.querySelectorAll('div');
3elements.forEach((el) => console.log(el.innerHTML));
document.querySelectorAll
recupera todos los elementos que coinciden con el selector CSS especificado y te permite acceder a su contenido mediante iteración.`.
Aserción de tipo de elemento
En TypeScript, afirmar explícitamente el tipo de un elemento te permite utilizar métodos y propiedades más específicos.
1const inputElement = document.getElementById('myInput') as HTMLInputElement;
2if (inputElement) {
3 console.log(inputElement.value); // Access the value property of the input element
4}
- La palabra clave
as
es un operador de aserción de tipo en TypeScript, utilizado para indicar explícitamente al compilador que trate un valor como un tipo específico. - En TypeScript, puedes usar aserciones de tipo para tratar el elemento recuperado como un tipo específico y acceder a propiedades o métodos específicos de ese tipo.
Manipulando el DOM
La manipulación del DOM se realiza a través de las propiedades de los elementos. Esto permite controlar de manera flexible los cambios en el texto o los atributos, aplicar estilos y actualizar el contenido mostrado.
-
Cambiar el texto de un elemento
Puedes cambiar el texto o el HTML de un elemento usando su propiedad
textContent
oinnerHTML
.
1const element = document.getElementById('myElement');
2if (element) {
3 element.textContent = 'New Text'; // Set the text content to 'New Text'
4}
- Puedes usar
textContent
oinnerHTML
de un elemento para cambiar el texto mostrado o el contenido HTML.
-
Cambiar el estilo de un elemento
Puedes modificar los estilos en línea usando la propiedad
style
del elemento.
1const element = document.getElementById('myElement');
2if (element) {
3 element.style.color = 'blue';
4 element.style.fontSize = '20px';
5}
- Este código recupera un elemento específico, cambia su color de texto a azul y establece el tamaño de la fuente en 20px.
-
Cambiar los atributos de un elemento
Si quieres cambiar los atributos de un elemento, usa
setAttribute
.
1const link = document.querySelector('a');
2if (link) {
3 link.setAttribute('href', 'https://example.com');
4}
- Este código cambia el atributo
href
del primer elemento enlace en la página ahttps://example.com
.
-
Manipular las clases de un elemento
Para agregar o eliminar clases de un elemento, usa
classList
.
1const element = document.getElementById('myElement');
2if (element) {
3 element.classList.add('active');
4 element.classList.remove('inactive');
5}
- Este código agrega la clase
active
y elimina la claseinactive
de un elemento específico.
Agregar y eliminar elementos del DOM
También puedes añadir nuevos elementos o eliminar los existentes. Esto permite cambiar la estructura de la página dinámicamente en respuesta a las acciones del usuario o al estado de la aplicación.
-
Crear y agregar nuevos elementos
Usa
document.createElement
para crear un nuevo elemento y agregarlo al DOM.
1const newDiv = document.createElement('div');
2newDiv.textContent = 'New Element'; // Set the text content to 'New Element'
3document.body.appendChild(newDiv); // Add the new element to the body
- Este código crea un nuevo elemento
<div>
, establece su texto y lo agrega al<body>
de la página.
-
Eliminar elementos
Para eliminar un elemento, usa los métodos
removeChild
oremove
.
1const parentElement = document.getElementById('parentElement');
2const childElement = document.getElementById('childElement');
3if (parentElement && childElement) {
4 parentElement.removeChild(childElement); // Remove the child element
5}
6
7// Alternatively
8const element = document.getElementById('myElement');
9if (element) {
10 element.remove(); // Remove the element itself
11}
- Este código muestra cómo eliminar un elemento hijo específico de su padre y cómo eliminar el propio elemento directamente.
Agregando eventos
En TypeScript, puedes agregar escuchadores de eventos a los elementos para realizar acciones en función de las interacciones del usuario.
1const button = document.getElementById('myButton');
2if (button) {
3 button.addEventListener('click', () => {
4 console.log('Button was clicked'); // Log when the button is clicked
5 });
6}
- Este código añade un listener de eventos que muestra un mensaje en la consola cuando se hace clic en el botón.
- Usando
addEventListener
, puedes escuchar y manejar diversos eventos, como clics, movimientos del ratón y entradas del teclado.
Puntos a tener en cuenta para la manipulación del DOM en TypeScript
Al manipular el DOM con TypeScript, prestar atención a las definiciones de tipo de los elementos y comprobar que no sean null
puede ayudar a prevenir errores y a escribir un código más robusto.
-
Verificación de nulidad
Debido a que un elemento del DOM podría no existir, se recomienda realizar una verificación de nulidad antes de manipular elementos en TypeScript.
-
Aserción de tipo explícita
Cuando trabajas con un elemento específico (por ejemplo, un
HTMLInputElement
), es común usar una aserción (as
) para especificar el tipo y usar propiedades específicas del elemento, comovalue
.
Teniendo esto en cuenta, la manipulación del DOM con TypeScript te permite escribir un código más seguro y predecible al combinar la flexibilidad de JavaScript con la seguridad de tipos de TypeScript.
Puedes seguir el artículo anterior utilizando Visual Studio Code en nuestro canal de YouTube. Por favor, también revisa nuestro canal de YouTube.