为什么这段代码会抛出

未捕获引用错误:未定义$

以前什么时候还好?

$(document).ready(function() {
    $('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
    $('#featuredvid > ul').tabs();
});

选项卡中的结果不再关闭。

jQuery在头中被引用:

<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/sprinkle.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-ui-personalized-1.5.2.packed.js"></script>

当前回答

如果是wordpress,可能需要更改

$(document).ready(function() {

to

jQuery(document).ready(function($){

或添加

var $ = jQuery;

之前

$(document).ready(function() {

其他回答

在我的案例中,这是一个拼写错误,我忘记了反斜杠,并且错误地引用了源代码。

在src=“/scripts/jquery.js”之前

在src=“scripts/jquery.js”之后

如果存在网络问题,也可能发生这种情况。这意味着,即使“jquery脚本”已到位,并且在使用之前已包含,但由于在加载页面时无法访问jquery脚本,因此“$”的定义被视为“未定义的引用”。

出于测试/调试目的::您可以尝试访问浏览器上的“jquery脚本”url。如果它是可访问的,您的页面应该正确加载,否则它将显示所述错误(或其他脚本相关错误)。示例-http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js应该可以在浏览器(或浏览器上下文实例)上访问。

我也遇到过类似的问题,我可以在windows主机浏览器中加载html页面(使用脚本),但无法在vmubuntu中加载。解决网络问题,解决问题。

您尚未引用jQuery库。

您需要在HTML中包含一行类似的内容:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

在包含jQueryJavaScript之前,您正在调用ready()函数。首先引用jQuery。

如果您使用的是ASP.NET MVC,则可以通过执行以下操作指定何时呈现JS代码:

1,在page.cshtml中,将<script>标记包装到一个部分中,并为其命名,常用名称为“script”:

@section scripts {
    <script>
        // JS code...
    </script>
}

2、在_Layout.cshtml页面中,添加@RenderSection(“Scripts”,必需:false),确保在引用Jquery源代码后放置它,这将使JS代码呈现晚于Jquery。

将最新的jquery cdn放在主html页面的顶部

就像如果你的主html页面是index.html

将jquery cdn放置在该页面的顶部,如下所示<!DOCTYPE html><html><head><script src=“https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js“></script><脚本>$(文档).ready(函数){$(“button”).click(函数){$(“h2”).hide();});});</script></head><body><h2>这会把我藏起来</h2><button>单击我</button></body></html>