Javascript 按按钮编辑和删除列表+;本地存储的变化
我有一个列表,我想通过单击一个按钮编辑它的内容,然后将其保存到localstorage,通过单击另一个按钮,我想删除它并更改本地存储, 我的列表如下所示: “删除”按钮工作得很好,它删除了场景中不在本地存储中的li项。 “编辑”按钮使整个li可编辑,包括按钮,但我想更改它 单击“编辑”按钮后的列表如下所示: 还有我如何在本地存储中存储我的物品以及如何获取它们:Javascript 按按钮编辑和删除列表+;本地存储的变化,javascript,html,local-storage,Javascript,Html,Local Storage,我有一个列表,我想通过单击一个按钮编辑它的内容,然后将其保存到localstorage,通过单击另一个按钮,我想删除它并更改本地存储, 我的列表如下所示: “删除”按钮工作得很好,它删除了场景中不在本地存储中的li项。 “编辑”按钮使整个li可编辑,包括按钮,但我想更改它 单击“编辑”按钮后的列表如下所示: 还有我如何在本地存储中存储我的物品以及如何获取它们: function store(item){ let items = JSON.parse(window.loc
function store(item){
let items = JSON.parse(window.localStorage.getItem('myItems'));
items = items === null ? [] : items;
console.log(items);
window.localStorage.setItem('myItems',JSON.stringify([...items,item]));
}
function getValues(){
let list = document.querySelector('ul');
let storedValues = JSON.parse(window.localStorage.getItem('myItems'));
if(!storedValues){
list.innerHTML = '';
}
else {
storedValues.forEach(val =>{
if(val){
list.innerHTML += '<li>'+'<a>' + val.name + " "+val.date +'</a>'+'<button onclick="editButton()">'+"Edytuj"+'</button>'+'<button onclick="deleteButton()">'+"Usuń"+'</button>'+'</li>';
}
})
}
}
功能存储(项){
让items=JSON.parse(window.localStorage.getItem('myItems');
items=项目===空?[]:项目;
控制台日志(项目);
window.localStorage.setItem('myItems',JSON.stringify([…items,item]);
}
函数getValues(){
let list=document.querySelector('ul');
让storedValues=JSON.parse(window.localStorage.getItem('myItems');
如果(!StoredValue){
list.innerHTML='';
}
否则{
storedValues.forEach(val=>{
if(val){
list.innerHTML++=''++'+val.name++'+val.date++'+'+''Edytuj++'+'+'+''“Usuń”++' ';
}
})
}
}
好的,我做了一些更改,现在删除效果很好
function deleteButton(){
event.target.parentElement.remove();
let a = event.target.parentElement.innerText;
let word = a.split(' ');
let item = new Array();
let i = 0;
let storedValues = JSON.parse(window.localStorage.getItem('myItems'));
window.localStorage.removeItem('myItems');
storedValues.forEach(val =>{
if(val.name === word[0]){
console.log(val.name);
}
else {
item[i] = new storage1(val.name,val.date);
i++;
}
});
window.localStorage.setItem('myItems',JSON.stringify(item));
storedValues = [];
}
但是我仍然进入这个编辑列表,当我将..
更改为..
时,它不起作用,有没有办法只编辑文本?
或者在输入后停止输入文本如果
edit
,delete
按钮位于li
,您应该使用另一个div,以便它可以包含li
的所有子项,但按钮除外。并且您的删除/编辑功能没有实现localstorage代码。
function deleteButton(){
event.target.parentElement.remove();
let a = event.target.parentElement.innerText;
let word = a.split(' ');
let item = new Array();
let i = 0;
let storedValues = JSON.parse(window.localStorage.getItem('myItems'));
window.localStorage.removeItem('myItems');
storedValues.forEach(val =>{
if(val.name === word[0]){
console.log(val.name);
}
else {
item[i] = new storage1(val.name,val.date);
i++;
}
});
window.localStorage.setItem('myItems',JSON.stringify(item));
storedValues = [];
}