获取localStorage并向div添加类

时间:2014-04-28 22:28:55

标签: javascript jquery html5 local-storage

我有一个令人困惑的问题。 每当我检查一个“复选框”时,它会获得最接近的“div”,并​​添加“hilight”“标记为”类,并将项目设置为LocalStorage,名为 “标记”即可。 当我从div 1切换到2时,我删除了“hilight”类,但我保持班级“标记”。

我正在尝试获取LocalStorage,并将类“hilight”再次添加到“标记为”的div

JS小提琴:http://jsfiddle.net/b4KgV/

HTML     1               2              

<button class="1st">show 1st</button>
<button class="2nd">show 2nd</button>

JS

localStorage.clear();

$(document).on('click', ':checkbox', function () {
    if ($(this).is(':checked')) {
        $(this).closest("div").addClass('hilight marked');
        localStorage.setItem("marking","yes");
    }
         else {
                $(this).closest("div").removeClass('hilight marked');
            }
 });

$(".1st").on('click', function() {
  $(".second").css('display','none');
    $(".second").removeClass('hilight');
  $(".first").css('display','block');
});

$(".2nd").on('click', function() {
  $(".first").css('display','none');
    $(".first").removeClass('hilight');
  $(".second").css('display','block');
});

if (localStorage.getItem("marking")) {
    $(".marked").closest("div").addClass('hilight');
};

THX。

1 个答案:

答案 0 :(得分:1)

Localstorage按密钥传递:您知道的价值,我试图将它们分开。 试试这个小提琴

http://jsfiddle.net/b4KgV/11/

$(document).on('click', ':checkbox', function () {
    var div = $(this).closest("div").attr("id")
    if ($(this).is(':checked')) {
        $(this).closest("div").addClass('hilight marked');
        localStorage.setItem(div, true);
    } else {
        $(this).closest("div").removeClass('hilight marked');
        localStorage.setItem(div, false);
    }
});

$(".1st").on('click', function () {
    console.log("test")
    if (localStorage.getItem("firstDiv") == "true") {
        $(".first").closest("div").addClass('hilight');
    };
    $(".second").css('display', 'none');
    $(".second").removeClass('hilight');
    $(".first").css('display', 'block');
});