Javascript 如何使用jquery cookie插件保存toggleClass方法的状态

Javascript 如何使用jquery cookie插件保存toggleClass方法的状态,javascript,jquery,cookies,Javascript,Jquery,Cookies,我知道我已经看过类似的问题,但答案对我来说还不起作用 因此,我试图保存JavaScript toggleClass方法的状态,以便用户刷新页面时加载保存的状态。目前,它只是恢复到原来的状态,因为它通常会。我正在尝试使用jquery cookie插件来实现这一点 我的代码如下 $(document).ready(function(){ $(".steps").click(function(){ $(this).toggleClass("selected"); $.cookie(

我知道我已经看过类似的问题,但答案对我来说还不起作用

因此,我试图保存JavaScript toggleClass方法的状态,以便用户刷新页面时加载保存的状态。目前,它只是恢复到原来的状态,因为它通常会。我正在尝试使用jquery cookie插件来实现这一点

我的代码如下

 $(document).ready(function(){
   $(".steps").click(function(){
   $(this).toggleClass("selected");
   $.cookie("selected", $(this).hasClass("selected"));
  });
});    

控制台中没有显示任何错误,因此我很难找到答案。

确保设置了布尔值。您存储了一个字符串,但需要一个布尔值

$(document).ready(function(){
if($.cookie("selected")){
    $(".steps").addClass("selected");
} 

   $(".steps").click(function(){
   $(this).toggleClass("selected");
   $.cookie("selected", $(this).hasClass("selected"));
  });
});  


这个代码设置了cookie,你在哪里读回并切换它呢?我没有,我已经试着把$.cookie(“selected”);但它仍然没有保存。我是在正确的位置读取cookie吗?有趣的是,你是对的,它做的正好相反,它似乎在加载页面时自动将状态切换为“选定”。仍然似乎在执行相同的操作,以从cookie获取布尔值。这似乎在加载页面时也会自动将状态切换为“选定”。状态更改也不会保存。
$(document).ready(function(){
   var sel = $.cookie("selected"); // get the cookie
   sel = sel=="true"; // convert to boolean - null is false, "false" is false
   $(".steps").toggleClass("selected",sel); // initial
   $(".steps").on("click",function() {
     var $this = $(this);
     sel = !sel; // toggle
     $this.toggleClass("selected",sel); // toggles
     $.cookie("selected", sel,{ expires: 7, path: '/' });
  });
});