JavaScript 中的本地存储删除所有项目而不是一个
Local Storage in JavaScript deleting all items instead of just one
我一直在从事普通 JS 项目(没有 JQuery),我正在实施本地存储以在刷新时保存数据。我下面的代码是删除本地存储阵列中的所有项目,而不是我设置为要删除的特定项目。任何帮助表示赞赏!
function deleteItem(event)
{
const item = event.target;
const itemRemoveQuery = document.querySelector('.li-item');
const itemRemove = itemRemoveQuery.innerHTML;
if (item.classList[0] === "delete-btn")
{
const liItem = item.parentElement;
liItem.remove();
}
// Delete targeted item from local storage
function removeLocalItems()
{
let items;
let quantities;
if (localStorage.getItem("items") === null || localStorage.getItem("quantities") === null)
{
items = [];
quantities = [];
}
else
{
items = JSON.parse(localStorage.getItem("items"));
quantities = JSON.parse(localStorage.getItem("quantities"));
}
for (let i = 0; i < items.length; i++)
{
var quantityRemove = quantities[i];
console.log(quantityRemove);
if (items[i] == itemRemove)
{
localStorage.removeItem('items', 'itemRemove');
localStorage.removeItem('quantities', 'quantityRemove')
}
}
}
removeLocalItems();
}
localStorage
只接受一个参数,即要删除的项的键:https://developer.mozilla.org/en-US/docs/Web/API/Storage/removeItem
您需要做的是改变您从 localStorage
解析的本地 items
和 quantities
数组(删除适当的项目),然后执行 localStorage.setItem('items', items)
和 localStorage.setItem('quantities', quantities)
.
我一直在从事普通 JS 项目(没有 JQuery),我正在实施本地存储以在刷新时保存数据。我下面的代码是删除本地存储阵列中的所有项目,而不是我设置为要删除的特定项目。任何帮助表示赞赏!
function deleteItem(event)
{
const item = event.target;
const itemRemoveQuery = document.querySelector('.li-item');
const itemRemove = itemRemoveQuery.innerHTML;
if (item.classList[0] === "delete-btn")
{
const liItem = item.parentElement;
liItem.remove();
}
// Delete targeted item from local storage
function removeLocalItems()
{
let items;
let quantities;
if (localStorage.getItem("items") === null || localStorage.getItem("quantities") === null)
{
items = [];
quantities = [];
}
else
{
items = JSON.parse(localStorage.getItem("items"));
quantities = JSON.parse(localStorage.getItem("quantities"));
}
for (let i = 0; i < items.length; i++)
{
var quantityRemove = quantities[i];
console.log(quantityRemove);
if (items[i] == itemRemove)
{
localStorage.removeItem('items', 'itemRemove');
localStorage.removeItem('quantities', 'quantityRemove')
}
}
}
removeLocalItems();
}
localStorage
只接受一个参数,即要删除的项的键:https://developer.mozilla.org/en-US/docs/Web/API/Storage/removeItem
您需要做的是改变您从 localStorage
解析的本地 items
和 quantities
数组(删除适当的项目),然后执行 localStorage.setItem('items', items)
和 localStorage.setItem('quantities', quantities)
.