为什么这段代码会抛出

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

以前什么时候还好?

$(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>

当前回答

在包含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。

其他回答

缺少JavaScript文件,因此发生了此错误。只需在<head>标记中添加JavaScript文件。请参见示例:

<script src="js/sample.js" type="text/javascript"></script>
<link href="css/sample.css" rel="stylesheet" type="text/css" />

或在标记中添加以下代码:

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

将最新的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>

您需要首先调用jquery,然后调用javascript,因为java脚本依赖于jquery,所以应该在javascript之前加载它,这解决了我的问题。

在以下两种情况下也会发生错误。

@HTML文件中缺少section-scripts元素访问DOM元素时出错。例如,DOM元素的访问被称为$(“js toggle”)而不是$(“.js togge”)

因此,需要遵循三点:检查是否添加了所需的脚本,检查是否按所需的顺序添加了脚本,以及Java脚本中的第三个语法错误。

在我的例子中,我将.js文件放在jQuery脚本链接之前,将.js文档放在jQuery脚本链接之后解决了我的问题。

<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="exponential.js"></script>