我在我的JavaScript中为我的一个javascript文件中的以下行获取了熟悉的“$ is not defined”错误...
$(document).ready(function() { … }
通常这是因为我忘了包含jQuery,但这次不是!我已经包含它,它是页面中的第一个包含它。此错误发生在包含的JavaScript文件中,也发生在标记内的任何代码中,所有这些错误都来自 jQuery包含之后。它也不会一直发生,也许是刷新页面的一半时间。
我也经常使用jQuery,以前从未见过这个,所以我很困惑。
编辑: 查看Firebug中的Net选项卡,正在请求jQuery,我收到200响应,但在响应正文中没有发回任何内容。如果我直接在新标签中打开文件或其他什么,我会得到一个空文档。 Firefox似乎认为该文件已缓存但数据大小为0.缓存控制是“无缓存”。困惑。
编辑2: 在VisualStudio中打开jQuery文件,保存jQuery文件,无需修改,现在一切正常。仍然完全困惑。
答案 0 :(得分:3)
您 确定 jQuery实际上是否已加载到浏览器中?听起来确实不是这样。您应该使用Firebug或Fiddler检查所有http请求,看看它是否实际被下载。
以下是如何使用Firebug进行检查的屏幕截图。
答案 1 :(得分:2)
您使用的是Wordpress还是某种CMS?如果是这样,他们的jQuery版本可能会在最后调用jQuery.noConflict()
的代码。您可以在此处阅读此方法:http://api.jquery.com/jQuery.noConflict/
这意味着只要您想使用$
功能,就需要使用jQuery
。
而不是
$("p").addClass("awesome");
你会做
jQuery("p").addClass("awesome").