Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

289
Vistas
Los elementos se duplican al agregarlos al contenedor desde el almacenamiento local

Quiero agregar algunos valores a un contenedor y guardarlos en el almacenamiento local, pero cuando hago clic en el botón para agregarlos después de la primera vez, los elementos se duplican en el contenedor, no en el almacenamiento local.

Lo extraño es que cuando recargo la página, los duplicados desaparecen y los elementos aumentan según la cantidad de elementos que agregué, solo aquí está mi código:

 let divP = document.querySelector(".parent"); let input = document.querySelector("input"); let button = document.querySelector("button"); let container = document.getElementById("container"); let array = JSON.parse(localStorage.getItem("array")) || []; let isUpdate = false; function createElement() { array.forEach((arr, id) => { let div = document.createElement("div"); div.classList.add("div"); div.id = id; div.innerHTML = arr.title; container.appendChild(div); }); } createElement(); button.addEventListener("click", (e) => { e.preventDefault(); let title = input.value.trim(); let id = Date.now(); if (title || id) { let arrayInfo = { title, id }; if (!isUpdate) { array.push(arrayInfo); } else { isUpdate = false; } localStorage.setItem("array", JSON.stringify(array)); createElement(); } });
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puedes borrar los divs así:

 function createElement() { const divs = document.querySelector('.div'); divs.forEach((div) => { div.remove(); }); array.forEach((arr, id) => { let div = document.createElement("div"); div.classList.add("div"); div.id = id; div.innerHTML = arr.title; container.appendChild(div); }); }

Tenga en cuenta que borrará todos los elementos con la clase div .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Tenga en cuenta que cada vez que ejecuta "createElement" agrega todos los elementos de la matriz al dom. Entonces los elementos se siguen acumulando sin salida. Para resolver esto, debe vaciar todos los divs anteriores, simplemente agregue la línea a continuación como primera línea de function createElement() :

 container.innerHTML = "";
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda