localStorage removeItem不适用于键值对

时间:2018-01-30 13:43:31

标签: javascript jquery html5 local-storage

知道我的代码为什么不从localStorage中删除键值对? 如果我控制日志rowItem它正是在localStorage中编写的。如果我硬编码完全相同的字符串,例如:localStorage.removeItem(" Puppy"),它将从localStorage中删除。有什么建议吗?

链接到应用:http://kajlax.mbnet.fi/Projects/Kauppalista

$replacedValue = str_replace("a:3:{i:0,:a:2:{:i:0;s:31;q}","",$alignment[$i]);

感谢Aamir Nakhwa指出错误。它不是在这个函数中,而是在我更改选择器的另一个函数中:

// Remove item
$("#shoppingTable > tbody").on("click", "i", (function(){
    let currentRow = $(this).closest("tr");
    let rowItem = currentRow.find("td:eq(0)").text().substring(1);

    // Delete from LS
    localStorage.removeItem(rowItem);

    // Delete from UI
    $(this).closest('tr').remove();
}));

两个函数都使用了类似的选择器#shoppingTable并导致了碰撞。

1 个答案:

答案 0 :(得分:2)

我已检查过您的demo link,并希望告诉您此行正常运行

localStorage.removeItem(rowItem); 一切都好

实际上在删除项目后,此事件被触发 $(“#shoppingTable> tbody”)。on(“click”,

并执行 else子句,然后通过以下行在localStorage中再次添加项目

localStorage.setItem(stateOfItem,0);

您可以通过记录else子句

中的内容来确认