如何使用点击功能使用jQuery设置/删除cookie

How to set/remove cookie with jQuery using click function

本文关键字:设置 jQuery 删除 cookie 何使用 功能      更新时间:2023-09-26

我有一个按钮,每次点击都会添加/删除额外的body类。我正在尝试使用jquerycookie脚本设置正确的类。这是我的代码:

$(document).ready(function() {
   var body_class = $.cookie('body_class');
   if(body_class) {
       $('body').attr('class', body_class);
   }
   else {
       $.removeCookie('body_class');
   }
   $(".contrast-btn").click(function() {
       $("body").toggleClass("extra-class");
       $.cookie('body_class', $('body').attr('class'));
   });
});

问题出在哪里?

当我点击起始页上的按钮,转到子页面时,类将移动到所有访问过的子页面——这是正确的。当我再次点击按钮(但在子页面上)时,该子页面上的类将被删除——这也是正确的。问题是,当我转到起始页或其他子页(我已经访问过)时,extra-class已设置,但应该删除。

在控制台上,我有多个路径名不同的cookie。有可能在"第二次"点击后这样做吗:

  1. 删除extra-class
  2. 删除所有body_class cookie

试着这样吸烟:

$(document).ready(function() {
   var body_class = $.cookie('body_class');
   if(body_class) {
       $('body').addClass(body_class);
   }else {
       // We already know this cookie doesn't exists at this point, so instead of trying to remove it,
       // this is where you want to SET it.
       $.cookie('body_class', "extra-class");
   }
   $(".contrast-btn").click(function() {
       $("body").toggleClass("extra-class");
       $.cookie('body_class', "extra-class");
   });
});