错误:$ .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所说的那样。