Recientemente intenté crear una página que guarde la entrada y la muestre en la página. Todo funciona, pero quiero agregar un botón de eliminación en cada entrada, que elimina solo una entrada. Intenté tantas maneras diferentes, pero ninguna de ellas funcionó. Si teneis alguna idea de como solucionar esto os lo agradeceria. Aquí está el código:
let savedinput = [] Localstoragesaves = localStorage.getItem("Zaznamki") const Predpomnjenipodatki = JSON.parse(Localstoragesaves) const DeleteButtonHTML = document.getElementById("izbrisi-gumb") const userinput = document.getElementById("vnos-pr") const inputsavebutton = document.getElementById("vnos-gumb") const LabelHTML = document.getElementById("seznamzaznamkov") const SaveTab = document.getElementById("zavihek-gumb") const DeleteLast = document.getElementById("pocisti-zadnjo") if (Localstoragesaves) { savedinput = Predpomnjenipodatki Render(savedinput) } DeleteLast.addEventListener('click', function(){ savedinput.pop() Render(savedinput) }) SaveTab.addEventListener('click', function(){ browser.tabs.query({active: true, currentWindow: true}, function(tabs){ savedinput.push(tabs[0].url) localStorage.setItem("Zaznamki", JSON.stringify(savedinput)) Render(savedinput) console.log( localStorage.getItem("Zaznamki") ) }) }) function Render(parameter) { let tabslabel = "" for (i = 0; i < parameter.length; i++) { tabslabel += ` <li> <a href='${parameter[i]}' target='_blank'>${parameter[i]}</a> </li> ` } LabelHTML.innerHTML = tabslabel } DeleteButtonHTML.addEventListener('dblclick', function() { localStorage.clear() savedinput = [] LabelHTML.textContent = '' }) inputsavebutton.addEventListener("click", function(){ const Vsebinavnosa = userinput.value savedinput.push(Vsebinavnosa) localStorage.setItem("Zaznamki", JSON.stringify(savedinput)) Render(savedinput) userinput.value = "" console.log( localStorage.getItem("Zaznamki") ) })Resolví este problema yo mismo. Estoy bastante orgullosa 😁. Quiero agradecerles por sus respuestas realmente rápidas, incluso si no obtuve la solución aquí. Si alguien tiene el mismo problema que tuve yo, le cuento lo que hice. En la representación de la función, agregué un botón con la función onclick con argumento, de modo que esta nueva función a la que se llamará sabrá qué elemento de la matriz debe eliminarse:
<button id="${parameter[i]}" onclick="Delete(${i})">Delete</button>y luego, en algún lugar de este documento, agregué esta función que obtiene valor al hacer clic en el botón y sabe qué elemento de la matriz de entrada guardada y almacenamiento local debe eliminarse:
function Delete(parameter) { mojizaznamki.splice(parameter, 1) console.log(savedinput) localStorage.setItem("Zaznamki", JSON.stringify(savedinput)) Render(savedinput) }Espero que esto ayude a otros. saludos desde eslovenia