如何使用此jQuery插件删除cookie?

时间:2009-10-26 08:51:19

标签: jquery jquery-plugins cookies

首先,为了显示cookie,我使用了来自electrictoolbox.com的代码。

然后我做了一个表格来添加一些cookie:

<form class="cokies" method="post">
<input class="query" name="q" type="text" />
<input type="submit" name="save" value="saving">
<a>Delete Cookies</a>
</form>
$(document).ready(function(){
$('.cokies a').click(function(){
    $.cookie('q', null);
});

remember('[name=q]');

此功能来自komodomedia.com

function remember( selector ){
    $(selector).each(function(){
        //if this item has been cookied, restore it
        var name = $(this).attr('name');
        if( $.cookie( name ) ){
            $(this).val( $.cookie(name) );
        }

        //assign a change function to the item to cookie it
        $(this).change(function(){
            $.cookie(name, $(this).val(), { path: '/', expires: 365 });
        });
    });
}

问题是,我无法弄清楚如何删除cookie。

4 个答案:

答案 0 :(得分:14)

要删除cookie,只需将expires:设置为负整数值。

示例:

$.cookie(name, $(this).val(), { path: '/', expires: -5 });

答案 1 :(得分:7)

新版本的Cookie插件已经问世,并提供以下方便的语法:

$.removeCookie('q');

答案 2 :(得分:2)

Jquery cookie脚本有一个bug ....更改脚本jquery.cookie.js的开头可能更好:

jQuery.cookie = function(name, value, options) {
if (typeof value != 'undefined') { // name and value given, set cookie
    options = options || {};
    if (value === null) {
        value = '';
        options.expires = -1;
        options.path = "/";

    }
 ....

在这种情况下,您将能够按预期删除cookie。

答案 3 :(得分:1)

$.removeCookie("COOKIE_NAME",{domain:'.domain.com',path:'/'});

检查Cookie的路径和域,并确保使用$.cookie插件将其包含在额外参数中。