使用jquery cookie无法获取if语句

时间:2012-01-28 17:28:31

标签: javascript jquery jquery-plugins cookies if-statement

好的我正在使用这个,https://github.com/carhartl/jquery-cookie,jquery插件,我需要做一个if (null){} else{}但是我无法让它工作

$('.ff').click(function(){
        if ($.cookie('ff') == null)
        {
            $.cookie('ff', 'on', { expires: 1, path: '/' });
            alert($.cookie('ff')+' on?');
        }
        if ($.cookie('ff') == 'on')
        {
            $.cookie('ff', null);
            alert($.cookie('ff')+' offFFFFFFFFFFFFFFff?');
        }
    });

我做错了什么?

1 个答案:

答案 0 :(得分:1)

将您的第二个if更改为else if。另外,根据插件文档:

  

注意:删除Cookie时,您必须传递用于设置Cookie的完全相同的路径,域和安全选项。

因此,请确保在删除Cookie时传递相同的path选项:

    if ($.cookie('ff') == null)
    {
        $.cookie('ff', 'on', { expires: 1, path: '/' });
        alert($.cookie('ff')+' on?');
    }
    else if ($.cookie('ff') == 'on')
    {
        $.cookie('ff', null, { path: '/' });
        alert($.cookie('ff')+' offFFFFFFFFFFFFFFff?');
    }

如果之前$.cookie('ff')为空,则首先将其设置为第一个'on'块内的if。然后第二个条件被评估为true,导致cookie再次设置为null

示例: http://jsfiddle.net/andrewwhitaker/azHK2/