我有一个令人困惑的问题。 每当我检查一个“复选框”时,它会获得最接近的“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。
答案 0 :(得分:1)
Localstorage按密钥传递:您知道的价值,我试图将它们分开。 试试这个小提琴
$(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');
});