¿Cómo cambiar los elementos uno a uno con JS? [SOLUCIONADO]

Guía Para Transformar Elementos en JavaScript

Modificar individualmente los componentes de una página es uno de los pilares de la interactividad en la programación web. En esta guía, exploraremos procesos de manipulación de elementos mediante JavaScript, mejor conocido como JS, profundizando en sus métodos y propiedades.

Seleccionar Elementos con JavaScript

Para manipular un elemento, primero debemos seleccionarlo. JS nos proporciona diferentes funciones para acceder a los elementos, tales como getElementById, getElementsByClassName, getElementsByTagName y las más recientes querySelector y querySelectorAll. Veamos como utilizarlas:

document.getElementById('miElemento');

document.getElementsByClassName('miClase');

document.getElementsByTagName('p');

document.querySelector('.miClase');

document.querySelectorAll('div.miClase');

Una vez hemos obtenido la referencia del elemento o elementos deseados, podemos cambiar su contenido o estilo.

Modificar Contenido de Texto

Para cambiar el contenido de texto de un elemento, JS dispone de innerText y textContent. Ambas propiedades se pueden utilizar para obtener o asignar texto a un elemento:

var elemento = document.getElementById('miElemento');
elemento.textContent = 'Nuevo contenido de texto';

La propiedad innerText considera la estilización al obtener el texto, mientras que textContent no lo hace.

Modificar HTML Interno

Cuando es necesario cambiar no solo el texto, sino también el contenido HTML de un elemento, se utiliza la propiedad innerHTML. Esto permite incluso agregar nuevos elementos HTML dentro del elemento seleccionado:

var contenedor = document.getElementById('miContenedor');
contenedor.innerHTML = '<p>Este es un párrafo inyectado.</p>';

Cambiar Atributos y Clases

Los atributos de los elementos, como href, src o id, pueden ser modificados mediante el método setAttribute. Por otro lado, la propiedad classList provee la posibilidad de añadir, eliminar, o comprobar la existencia de clases CSS de un elemento.

var enlace = document.getElementById('miEnlace');
enlace.setAttribute('href', 'http://nuevoenlace.com');

var boton = document.getElementById('miBoton');
boton.classList.add('nuevaClase');
boton.classList.remove('claseAntigua');
boton.classList.toggle('claseAlternativa');


Estilizar Elementos

La propiedad style de un objeto del DOM permite modificar el estilo CSS de un elemento. Es posible cambiar propiedades individuales o asignar múltiples estilos simultáneamente:

var miElemento = document.getElementById('elementoParaEstilizar');
miElemento.style.color = 'blue';
miElemento.style.backgroundColor = 'lightgrey';

miElemento.style.cssText = 'color: blue; background-color: lightgrey; padding: 20px;';

Recuerda que las propiedades CSS en camelCase deben utilizarse cuando asignamos estilos directamente en JavaScript.

Eventos para Interactividad

Los eventos son fundamentales para añadir interactividad. JavaScript nos permite escuchar eventos, como clicks, y ejecutar funciones que alteren los elementos de alguna manera:

var miBoton = document.getElementById('btnClick');
miBoton.addEventListener('click', function() {
  miBoton.style.backgroundColor = 'green';
});


Trabajar con el DOM en JavaScript

El Modelo de Objetos del Documento, o DOM, es toda la estructura de objetos de una página web que permite a JavaScript interactuar con sus elementos. Poder modificarlo implica que podemos añadir, eliminar o cambiar los nodos del árbol del DOM:

var nuevoElemento = document.createElement('div');
nuevoElemento.innerText = 'Soy un nuevo div';
document.body.appendChild(nuevoElemento);

A continuación, cómo remover un elemento del DOM:

var elementoARemover = document.getElementById('divARemover');
elementoARemover.parentNode.removeChild(elementoARemover);


Este artículo brinda un compendio de técnicas en JavaScript para alterar el contenido y presentación de una página web. Mediante la comprensión de estos conceptos y la práctica constante, desarrollarás la habilidad de dar vida a páginas web dinámicas y reactivas a la interacción del usuario.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad