在addClass之后更新jquery cookie pb,一些div不应该创建类cookie

感谢Arun P Johny我实现了这个代码,但是,仍然有一个pb,基本上,你点击一个div然后添加类绿色背景,所以我想在重新加载页面后保留类,我使用jquery cookie插件来实现它,pb是div没有复选框检查不应该在页面重新加载后采取活动类,但不幸的是它的情况..

var $qsts = $(".quest").show(); var $anrs = $(".ans").hide(); $('.quest').click(function(){ var $ans = $(this).next().toggle(10); $anrs.not($ans).hide(); }); $('.ans').change(function(){ var $ans = $(this).closest('.ans'); var $act = $ans.prev().toggleClass('question-active', $ans.find('input:checkbox:checked').length > 0) if($act.hasClass('question-active')){ $.cookie('question-active', $act.get(0).className.match(/\b(question\d*)\b/)[1]) } else { $.removeCookie('question-active'); } }); var active = $.cookie('question-active'); if(active){ $qsts.filter('.' + active).addClass('question-active') } 

这是完整的代码: http : //jsfiddle.net/arunpjohny/hZeyd/7/

请求帮助

看一下

 var $qsts = $(".quest").show(); var $anrs = $(".ans").hide(); $('.quest').click(function(){ var $ans = $(this).next().toggle(10); $anrs.not($ans).hide(); }); $('.ans').change(function(){ var $ans = $(this).closest('.ans'); var $act = $ans.prev().toggleClass('question-active', $ans.find('input:checkbox:checked').length > 0) var items = JSON.parse($.cookie('question-active') || '[]'); var qstName = $act.get(0).className.match(/\b(question\d*)\b/)[1]; if($act.hasClass('question-active')){ if($.inArray(qstName, items) == -1){ items.push(qstName) } } else { items.splice($.inArray(qstName, items), 1) } $.cookie('question-active', JSON.stringify(items)) }); var items = JSON.parse($.cookie('question-active') || '[]'); if(items && items.length){ $qsts.filter('.' + items.join(', .')).addClass('question-active') } 

演示: 小提琴