【发布时间】:2015-08-10 12:00:14
【问题描述】:
当谈到 localStorage 时,我似乎一无所知。我想通过切换一个类来设置一种最喜欢一组 div 中的任何 div 的方式。我可以让 toggleClass 在单个 div 上工作并被保存,但 localStorage 将所有 div 保存为收藏夹,而不仅仅是设置了 toggleClass 的那个。显然我错过了一些东西。
本地存储代码:
if (typeof (localStorage) == 'undefined') {
document.getElementById("result").innerHTML = 'Your browser does not support HTML5 localStorage. Try upgrading.';
} else {
if (localStorage.getItem("fav") != null) {
getFav = localStorage.fav;
$(".item").addClass('favorites');
}
}
$(document).ready(function () {
$('.btn').on('click', function () {
getFav = localStorage.fav;
//$(".item").removeClass('favorites');
//localStorage.removeItem('background');
$(this).closest(".item").toggleClass('favorites');
if ($(this).closest(".item").hasClass('favorites')) {
localStorage.setItem('fav', 'favorites');
}else{
localStorage.removeItem('fav');
}
});
});
问题出在
$(".item").addClass('favorites');
它将类添加到所有 .items 中,显然它不应该。
任何帮助将不胜感激!
【问题讨论】:
-
$(".item").addClass('favorites')将 "favorite" 类添加到 all "item" 分类元素 -
我意识到这一点,这就是我寻求代码帮助的原因。我可以单独切换,但不能单独保存在 localStorage 中。
标签: javascript jquery local-storage toggleclass