返回浏览器时保留jQuery addClass

Keeping jQuery addClass when going back in browser

本文关键字:jQuery addClass 保留 浏览器 返回      更新时间:2023-12-31

我在理解如何将我的addClass变成cookie时遇到了一些困难。我有一个多选框,它当前通过添加一个活动类来过滤产品列表,然后只显示具有指定标签的产品。如果您进行了选择,然后单击其中一个产品以查看该产品,然后返回,则必须再次重新选择以前选择的选项。以下是用于进行选择的代码。

        tabsBlock.children('.tab').click(function() {
        var tabContentClass = $(this).attr('id') + '-content';
        tabsBlock.children('.active').removeClass('active');
        tabsContentBlock.children('.active').removeClass('active').hide();
        $(this).addClass('active');
        if (tabContentClass.length) {
            tabsContentBlock.children('#' + tabContentClass).addClass('active').show();
        }
        getTags();
    });

感谢所有的帮助!

对于您描述的情况,我会使用隐藏输入。参见此示例:

使用jQuery 将复选框值放入隐藏输入

原因是,听起来你只需要存储这个特殊情况的值。存储在cookie中需要管理cookie何时过期,这可能会造成混乱并导致不希望的行为。

我对localStorage了解不多(正如评论中提到的)——这可能也是一个可行的选择。

感谢大家的帮助。我最终使用了Astaroth关于使用本地存储的建议。

$(".tag-group-label").click(function(){
        localStorage.setItem('tagGroupLabelState', 'open');
    });
    $(document).ready(function(){   
        if(localStorage.getItem('tagGroupLabelState') == 'open') {
            $('.tag-group-label').addClass('open').next('.tag-container').slideToggle(400, function(){
                reCalcStickyElement();
            });
        }
    });