Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从本地存储中删除项目_Javascript_Jquery_Html_Local Storage - Fatal编程技术网

Javascript 从本地存储中删除项目

Javascript 从本地存储中删除项目,javascript,jquery,html,local-storage,Javascript,Jquery,Html,Local Storage,我试图在jQuery中创建一个简单的待办事项列表,但遇到了一个问题。这是我第一次尝试使用localStorage。所以在为我的待办事项列表建立结构之后,我想在刷新页面时查看我的项目。首先,我在JS中添加了这一行: localStorage.setItem("todolist", $('#todoList').html()); 然后我补充说 $('#todoList').html(localStorage.getItem("todolist")); 这部分工作正常,但我想在我的deleteLi

我试图在jQuery中创建一个简单的待办事项列表,但遇到了一个问题。这是我第一次尝试使用
localStorage
。所以在为我的待办事项列表建立结构之后,我想在刷新页面时查看我的项目。首先,我在JS中添加了这一行:

localStorage.setItem("todolist", $('#todoList').html());
然后我补充说

$('#todoList').html(localStorage.getItem("todolist"));
这部分工作正常,但我想在我的
deleteListItem()
函数中添加另一行,用于从存储中删除我的待办事项。这是我补充的一句话:

localStorage.removeItem("todolist", $('#todoList').html());
添加这一行后,我从浏览器中删除了整个
元素。有没有办法扭转这种局面?还有没有办法让我的待办事项列表可以正常使用
localStorage

这是我的JSBin,让你更好地了解我在做什么:


您应该首先检查localStorage中是否已经存在某些内容:

if (localStorage.getItem("todolist") != null) {
    $('#todoList').html(localStorage.getItem("todolist")); // This reads items in our local storage
}
检查此更新:

存储.removietem应仅接收1个参数。请尝试
localStorage.removietem(“todolist”)
。是否需要考虑节省内存?localstorage的工作原理类似于映射,如果您使用完全相同的键设置另一个值,它将覆盖其中存在的内容。在设置新项目之前,您不必删除项目。@devilfart我的待办事项列表正在生成新的“li”元素,我希望它们保持刷新浏览器时的状态。例如,如果我在刷新时添加三个任务并删除一个任务,我不希望它保持这样。当您知道函数失败时的预期输出为
null
,请随意使用严格比较运算符
==。对于这种特殊情况,它不会有太大的改变,但这是一个好习惯!