本地存储不会保存我已完成的列表项?

时间:2013-02-28 04:03:38

标签: jquery local-storage

所以我觉得我终于想到了这一点,但不幸的是它是最后一块拼图。

基本上我有一个待办事项列表,当我将其标记为完成时,它会在列表项中划一条线并更改背景颜色,它可以正常工作。但是当我刷新页面时,首选项就会消失:

$("section#todo_list > section.todo_item > span#complete").live("click", function() {
        $(this).parent().css({'text-decoration' : 'line-through', 'background' : '#e1ffff'});
        todo_list = JSON.parse(localStorage.todos)
        item = todo_list[id];  
        localStorage.setItem($(this).parent().attr(item));                                            
    }); 

这是我对代码的最佳猜测,我认为会做到但没有运气,我错过了什么?

3 个答案:

答案 0 :(得分:1)

localStorage.setItem需要密钥和值,例如setItem(id, $(this).parent().attr(item))

我也无法确定您要将数据存储在哪种格式中 - 看起来您正在读出整个列表,但是您保存了单个项目。

正如@RPM建议的那样,如果您将其作为JSON读取,则应将其保存为JSON。

答案 1 :(得分:0)

这是你在localStorage中设置的方式:

LocalStorage.itemName =“item”;

答案 2 :(得分:0)

localStorage.setItem('myKeyName', JSON.strinify($(this).parent().attr(item)));