为什么这段代码会抛出一个
未捕获的ReferenceError:$未定义
什么时候可以呢?
$(document).ready(function() {
$('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
$('#featuredvid > ul').tabs();
});
选项卡中的结果不再关闭.
标头中引用了jQuery:
Jeremy.. 661
您应该首先将引用放到jquery脚本中.
为了确保这一点很清楚:你不能在jquery脚本本身之前将脚本引用放到jquery-ui.这就是我解决问题的方法:首先是jquery-xxxmin.js,然后是jquery-ui-xxxxxx.js. (26认同)
2年后,答案仍未"勾选")[**本文**](http://jquery-howto.blogspot.com/2013/02/referenceerror-jquery-is-not-defined.html)描述了发生此错误时的这种情况和4种常见情况. (23认同)
@Uzbekjon那为我解决了.在我的`HTML`文件的_one_中,脚本的路径是错误的. (2认同)
小智.. 216
在包含jQuery JavaScript之前,您正在调用ready函数.首先参考jQuery.
您应该首先将引用放到jquery脚本中.
在包含jQuery JavaScript之前,您正在调用ready函数.首先参考jQuery.
这就是为我解决的问题.最初我去了谷歌并在他们的CDN页面上复制并粘贴了他们建议的jQuery片段:
该代码段不包含HTTP:
或HTTPS:
属于该src
属性,但我的浏览器FireFox需要它,因此我将其更改为:编辑:这对我来说也适用于Google Chrome
然后它奏效了.
如果在将jQuery插件加载到浏览器之前加载了自定义脚本,则可能会出现此类问题.因此,在调用jQuery插件后,请始终保留自己的JavaScript或jQuery代码,以便解决此问题的方法是:
首先添加指向GoogleApis托管的jQuery文件的链接或您将从http://jquery.com/download/下载并在服务器上托管的本地jQuery文件:
或任何jQuery插件.然后把你的自定义脚本文件链接或代码:
在我的情况下,我把我的.js
文件放在jQuery脚本链接之前,.js
在jQuery脚本链接解决了我的问题后放置文件.
好吧,我的问题不同了 - 它是Chrome中的Document Security模型.
看看这里的答案,显然我在调用$(document).ready()
等函数之前不知何地加载了我的jquery文件.但是,他们都处于正确的位置.
在我的情况下,这是因为我通过安全的HTTPS连接访问内容,而该页面试图从谷歌等下载CDN托管数据.解决方案是将它们存储在本地,然后直接包含,而不是从每次CDN.
编辑:另一种方法是将所有CDN托管的内容链接为https://而不是http:// - 然后模型不会抱怨.
在启动脚本之前添加库.您可以添加以下任何CDN来启动它.
谷歌:
微软
jQuery的
如果你想要任何其他Jquery cdn版本,请检查此链接.
在这之后:
WordPress的:
如果是在wordpress中,可能需要更改
$(document).ready(function() {
至
jQuery(document).ready(function($){
或添加
var $ = jQuery;
之前
$(document).ready(function() {
我有完全相同的问题,上面的这些解决方案都没有帮助.但是,我只是将.css
文件链接到文件之后.js
,问题奇迹般地消失了.希望这可以帮助.
我可能是唯一一个遇到过我的问题的人,但无论如何都不好意思.我想尝试使我的脚本异步,只是为了它的乐趣.然后我忘记了它,当我上线时,[custom] .js文件只在jQuery.js之前加载了50%的时间.
所以我改变了
至
:)
在我的情况下,我有这个referenceError,因为脚本调用的顺序是错误的.通过更改顺序解决了这个问题:
至
ready()
在包含jQuery JavaScript之前,您正在调用该函数。首先参考jQuery。
如果您使用的是ASP.NET MVC,则可以通过执行以下操作指定何时呈现JS代码:
1,在page.cshtml
将标签包装到一个区域中并为其命名后,通常使用的名称是“脚本”:
@section scripts { }
2,在_Layout.cshtml
页面add中@RenderSection("Scripts", required: false)
,确保在引用Jquery源代码后将其放入,这将使您的JS代码晚于Jquery呈现。
如果您在.Net中执行此操作并正确引用脚本文件并且jQuery看起来很好,请确保您的用户可以访问脚本文件.我正在进行的项目(同事)让他们的web.config拒绝访问匿名用户.我正在处理的页面可供匿名用户访问,因此他们无法访问脚本文件.将以下内容放入web.config中,一切都在世界上:
我遇到了同样的问题,我通过将jQuery放在我代码中所有JavaScript代码的顶部来解决了问题。
像这样:
希望将来能对您有所帮助。
就我而言,这是一个错字,我忘记了一个反斜杠,并且错误地引用了源。
之前 src="/scripts/jquery.js"
后 src="scripts/jquery.js"
jquery-1.2.6.min.js
没有调用源文件,jQuery命令$()
早于执行<..src='jquery-1.2.6.min.js'>
.
请先运行<.. src="/js/jquery-1.2.6.min.js..">
并确保src路径正确,然后执行jquery命令
$(document).ready(function()
这件事发生在我之前.
原因是我将android连接到带有JS的webview.我发送了一个没有引号的参数.
js.sayHello(hello);
当我改变它
js.sayHello('hello');
有效.