Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

288
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!