从localstorage中删除项目会导致json sintax错误

时间:2019-06-04 19:08:42

标签: jquery html local-storage

我正在做类似待办事项的工作,其中的项目是文件的路径。我想将每个项目存储在localStorage中,并能够将其从列表中删除,但是这样做很麻烦。

每个项目旁边都有一个十字形图标,可以将其删除。当我单击图标时,我调用一个函数以从localStorage中删除并通过刷新页面来“重新绘制”项目列表。如果我只有一个项目,它可以工作,但是如果我有两个或多个项目,它就不起作用。这是我要删除的代码:

$(document).on('click', '.eliminar', function(e){
       var items = JSON.parse(localStorage["items"]);
  for (var i = 0; i < items.length; i++) {
     if(items[i].includes($(this).attr("id"))){
       items.splice(i,1);
       break;
     }
  }

localStorage.setItem("items", items);
window.location.reload();
});

我不知道该项目的键,但是每个十字图标都以该项目的名称作为其ID,因此我将其用作选择器。

正如我所说,如果我有两个或多个项目,然后单击十字以删除其中一个,则刷新页面后,两者都会从列表中消失,并且出现以下错误:SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

0 个答案:

没有答案