【发布时间】:2020-04-08 22:53:41
【问题描述】:
我查看了许多 similar 问题及其答案,但我一直在努力寻找可行的解决方案。我有多个具有相同类名的 div(它们是在循环中创建的),并且它们的切换状态需要保持刷新。这是我正在使用的 html:
<div class="bg-gray">
<div class="customize-card-md">
<input id="blog-1" class="customize-select" type="checkbox">
<label class="js-blog-select"></label>
</div>
</div>
点击时,类 bg-gray 被删除,我正在使用它:
$('.js-blog-select').on('click', function(event) {
$(this).closest('.customize-card-md').toggleClass('bg-gray');
})
这个 jquery 现在工作正常。作为旁注,它是这样写的,因为标签的样式允许整个标签是可点击的,并且还可以在点击时处理一些类似类名的冒泡/传播问题。在尽可能多地阅读documentation 之后,我尝试过的是以下内容,我正在尝试将其合并到本地存储中。我对使用 cookie 和 localstorage 还很陌生,但这是我目前所没有的:
if (localStorage.getItem('togglebg') === 'true') {
$(this).closest('.customize-card-md').toggleClass('bg-gray');
}
$('.js-blog-select').on('click', function(event) {
$(this).closest('.customize-card-md').toggleClass('bg-gray');
localStorage.setItem('togglebg', $(this).hasClass('bg-gray'));
})
在刷新时,背景会恢复为灰色,并且不会像应有的那样保存没有背景。任何帮助将不胜感激。
【问题讨论】:
标签: local-storage