Manipulación del DOM con JavaScript: Creación de Funciones y Templates

Clase 8 de 23Curso de Introducción a Empaquetadores Web

Resumen

¿Cómo iniciar la lógica de una aplicación en JavaScript?

Al crear una aplicación web, es fundamental establecer una base sólida con JavaScript. Vamos a explorar cómo estructurar la lógica detrás de una aplicación manipulando el DOM y utilizando estructuras iterativas para personalizar elementos según las necesidades del proyecto.

Comenzamos por definir una función principal, main. Esta función se encargará de organizar la lógica esencial de la aplicación.

const main = () => {
  // Aquí irá la lógica completa
};

¿Cómo manipular el DOM de forma eficiente?

La manipulación del DOM es clave para actualizar dinámicamente los elementos en una página web. Aquí veremos cómo crear nodos de texto y modificar los elementos del DOM usando JavaScript.

Creación de nodos de texto

Para reemplazar textos estáticos en HTML, usamos document.createTextNode. Veamos un ejemplo:

let name = document.createTextNode(data?.name || 'Valor por defecto');

El uso de data?.name asegura que no se generen errores si la propiedad name no está definida, gracias al optional chaining.

Iteración y modificación de enlaces

Cuando tenemos que manejar múltiples enlaces, podemos hacer uso del método map para iterar sobre ellos y generar una lista personalizada:

let links = data?.links.map(link => {
  return `
    <a href="${link.url}" style="color: ${link.color}">
      ${link.name} ${link.emoji}
    </a>`;
}).join('');

Este fragmento genera un string HTML con cada enlace mostrando propiedades específicas como la URL, color, nombre, y emoji.

¿Cómo estructurar la incorporación de nuevos elementos en el DOM?

Agregar nuevos elementos requiere una combinación estratégica de creación de elementos y modificación de sus propiedades internas.

Uso de createElement y appendChild

Primero, creamos un nuevo elemento HTML, como una sección, para contener los enlaces generados:

let newItem = document.createElement('section');
newItem.innerHTML = links; // Insertamos los links creados
document.body.appendChild(newItem); // Finalmente, añadimos al documento

Al ejecutar todo este proceso a través de la función main, centralizamos la aplicación de estos cambios en la estructura del documento.

¿Qué otras personalizaciones podemos añadir?

Aunque hemos cubierto la edición básica de nombres y enlaces, las opciones para personalizar una aplicación web son vastas. Puedes:

  • Modificar estilos CSS in-line o usar clases de frameworks como Tailwind.
  • Cambiar estructuras de HTML dentro de los templates.
  • Insertar script adicionales para mejorar la UX.

Al final de este ejercicio, simplemente ejecutamos la función main para que todo el proceso se lleve a cabo automáticamente:

main();

Esta estructura inicial te proporciona un potente punto de partida para automatizar y personalizar tu proyecto web. Sigue explorando y ajustando según tus necesidades para lograr resultados óptimos. ¡Sigue adelante y continúa aprendiendo!