错误:$ .cookie不是函数

我已经使用以下代码添加了jQuery插件:

 

我的激活cookie代码如下:

 $(document).ready(function() { $('ul.sub_menu a').click(function() { $('#sliderid, .prodcls').css("display","none"); $.cookie('links','linkdisplay',{ expires: 2 }); // var txt = $(this).text(); //console.log("you clicked"+txt); }); var links = $.cookie('links'); if (links == 'linkdisplay') {$('#sliderid, .prodcls').css("display","none");}; }); 

但是在firebug控制台中它给出了一个错误:

$ .cookie不是函数[Break On This Error] var links = $ .cookie(’links’);

怎么了?

错误表示缺少插件。

可能有很多原因,一些常见的原因是:

  • 在插件之后加载Jquery,(即Jquery之前的插件。)
  • 插件路径错误或Web服务器无法访问。
  • 插件与JQuery版本不兼容。

我希望这有帮助。

我不确定这是不是确切的问题,但肯定这是问题之一。

 $(document).ready(function() { // click Method start here $('ul.sub_menu a').click(function() { $('#sliderid, .prodcls').css("display","none"); $.cookie('links','linkdisplay',{ expires: 2 }); // var txt = $(this).text(); //console.log("you clicked"+txt); }); // click method ends here // this part is not inside any function, this will be executed on document ready before any click happens var links = $.cookie('links'); if (links == 'linkdisplay') {$('#sliderid, .prodcls').css("display","none");}; }); 

问题是,你是在点击处理程序function上保存cookie,但是在文件准备好之前检索,这是在元素发生任何点击之前,因此当你试图检索时,文件就没有任何带有名称链接的cookie。 请在代码中查看我的评论

如果js文件夹中没有jquery.cookie.js,请从此处下载添加。

代码似乎很好。 行$.cookie('links','linkdisplay',{ expires: 2 }); 使用名称“links”和“linkdisplay”保存cookie作为值。

您可以参考使用Javascrip获取所有cookie以获取有关coookie插件的更多信息。

如果没有解决,请使用您的HTML代码进行更新,并告诉我您想要在Cookie中保存的确切内容。

我一直在尝试使用代码获取cookie:

 jQuery.cookie('my_cookie') 

返回错误,所以我把它改成了这个来检查它:

 $.cookie('cc_cookie_accept') 

现在正在运作。 我假设插件的版本与jQuery版本不兼容,就像user529649所说的那样。