开发者问题收集

jquery cookie 问题:$.cookie 不是一个函数

2015-06-04
4902

我知道这个问题已经被问过多次了。我看了很多答案,但找不到解决方案。

我正在尝试加载 jquery.cookie.js 脚本。方法如下:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script type="text/javascript" src="scripts/jquery.cookie.js"></script>
<script type="text/javascript" src="scripts/javascript.js"></script>

这是我的 javascript:

$(document).ready(function () {
    var jobStats_class = $.cookie('jobStats');

    // Add toggle feature
    $('.jobStats caption').click(function () {
        $('.jobStats th,.jobStats td').slideToggle('1000');
    });

    $('.ricSubscriptions caption').click(function () {
        $('.ricSubscriptions th,.ricSubscriptions td').slideToggle('1000');

    });

    $('.trthJobStatus caption').click(function () {
        $('.trthJobStatus th,.trthJobStatus td').slideToggle('1000');
    });
});

感谢您的帮助!

2个回答

自 2.0 版起, jquery-cookie 项目已移至 js-cookie 项目。

现在您无法使用 $ 变量处理 cookie(因为这个库实际上并没有使用 jQuery 的特殊函数)。现在,您必须使用 Cookies 变量:

创建一个 cookie

//OLD
$.cookie('name', 'value', { expires: 7, path: '/' });
//NEW
Cookies.set('name', 'value', { expires: 7, path: '/' });

读取一个 cookie

//OLD
$.cookie('name');
//NEW
Cookies.get('name');

读取所有 cookie

//OLD
$.cookie();
//NEW
Cookies.get();

删除一个 cookie

//OLD
$.removeCookie('name');
//NEW
Cookies.remove('name');
jmgross
2015-06-04

你的脚本路径有问题。试试这个 cdn:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"></script>
Alex Tartan
2015-06-04