[英]How do I save all my created variables to local storage? (Javascript/HTML)
[英]How do I save a list item created by user in local storage?
这是一个杂务列表,应将用户输入的列表项保存到本地存储。 请帮忙!
const form = document.querySelector("form");
const toDoList = document.querySelector("#list");
form.addEventListener("submit", function(event) {
event.preventDefault();
const newToDo = document.querySelector("#addToDo");
const newLi = document.createElement("li");
const newButton = document.createElement("button");
newLi.innerText = newToDo.value;
newButton.innerText = "Remove";
localStorage.setItem('newitem', newLi.innerText)
newLi.append(newButton);
toDoList.append(newLi);
form.reset();
toDoList.addEventListener("click", function(event){
if (event.target.tagName === "LI") {
event.target.style.textDecoration = "line-through";
} else if (event.target.tagName === "BUTTON") {
event.target.parentNode.remove();
}
});
});
实验 trocar a linha :
localStorage.setItem('newitem', newLi.innerText)
波尔:
if(!localStorage.getItem('countItems'))
{
//se não existe cria o contador
localStorage.setItem('countItems',0);
}
let cont =parseInt( localStorage.getItem('countItems') , 10 );
localStorage.setItem('newitem-' + cont , newLi.innerText)
localStorage.setItem('countItems',cont+1);
Para saber quantos, você pega o valor de countItems, assim:
const quantidade = parseInt(localStorage.getItem('countItems'),10);
Para pegar os valores, você usa o index de cada item, assim:
const item0 = localStorage.getItem('newitem-0');
const item1 = localStorage.getItem('newitem-1');
Ou pode navegar entre os itens :
const cont =parseInt( localStorage.getItem('countItems') , 10 );
let index =0;
while (index < cont)
{
let item = localStorage.getItem('newitem-' + index);
console.log('Item ' + index + ' tem valor ' + item);
index++;
}
一种选择是在每次向列表中添加新项目时创建一个新的键/值对。 这样你就不会覆盖写入localStorage
的最后一个键/值对。 您可以简单地命名每个键并在其后附加一个数字,该数字表示它是哪个键的计数器。
let numKeys = null; // Will store the # of keys in localStorage const form = document.querySelector("form"); const toDoList = document.querySelector("#list"); form.addEventListener("submit", function(event) { event.preventDefault(); const newToDo = document.querySelector("#addToDo"); const newLi = document.createElement("li"); const newButton = document.createElement("button"); newLi.innerText = newToDo.value; newButton.innerText = "Remove"; numKeys = localStorage.length; // Get the # of keys already in localStorage // Create a new key so as not to overwrite existing ones localStorage.setItem('newitem' + (numKeys + 1), newLi.innerText) newLi.append(newButton); toDoList.append(newLi); form.reset(); toDoList.addEventListener("click", function(event){ if (event.target.tagName === "LI") { event.target.style.textDecoration = "line-through"; } else if (event.target.tagName === "BUTTON") { event.target.parentNode.remove(); } }); });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.