Jquery:设置get cookie,应用为类

时间:2010-10-10 04:20:35

标签: jquery cookies

我想在一个人点击一个链接时设置一个cookie,然后我想得到那个cookie并让它以某种方式将类'pinned'添加到'#navigation'。我不太确定这是不对的,我正在使用jquery cookie插件,呃。这是我到目前为止的代码:

设置cookie:

$.cookie('CookieName':'#navigation');

获取cookie,将类'pinned'添加到元素#navigation

 $("#" + $.cookie('cookieName')).addClass("pinned");

但每当我把这段代码放在我的JS文件中的任何地方时,它都会导致所有JS不再工作,所以它会破坏我的整个页面。

3 个答案:

答案 0 :(得分:4)

您可以在 Cookie中存储值,但是您不能将类(或ID)归因于某个(尽管显然您可以命名一个cookie,但是这不是一回事)。相反,你可以这样做:

$.cookie('class','pinned',{expires:30});

然后检索值:

var pinnedClass = $.cookie('class');

$('#navigation').addClass(pinnedClass);

答案 1 :(得分:2)

设置Cookie时出现语法错误,而且您还检测到拼写错误的Cookie:

$.cookie('CookieName', 'navigation');

$("#" + $.cookie('CookieName')).addClass("pinned");

答案 2 :(得分:0)

你可以使用普通的javascript代码获取如下的cookie。 以下代码应该起作用

this.getCookie = function(name) {
    if (document.cookie.length > 0) {
        start = document.cookie.indexOf(name + "=");
        if (start != -1) {
            start = start + name.length + 1;
            end = document.cookie.indexOf(";", start);
            if (end == -1) end = document.cookie.length;
            return unescape(document.cookie.substring(start, end));
        }
    }
    return "";