为什么这段代码会抛出

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

以前什么时候还好?

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

当前回答

这件事以前发生在我身上。

原因是我正在用JS将android连接到webview。我发送了一个不带引号的参数。

js.sayHello(hello);

当我把它改成

js.sayHello('hello');

它奏效了。

其他回答

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

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

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

我也有类似的问题。我的测试服务器使用“http”时工作正常。然而,它在具有SSL的生产中失败。

因此,在生产中,我添加了“HTPPS”而不是“HTTP”,在测试中,我保持了“HTTP”。

测试:

wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', array(), null, false );

wp_register_script( 'custom-script', plugins_url( '/js/custom.js', __FILE__ ), array( 'jquery' ) );

生产:

wp_register_script( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', array(), null, false );

wp_register_script( 'custom-script', plugins_url( '/js/custom.js', __FILE__ ), array( 'jquery' ) );

希望这对正在wordpress工作的人有所帮助。

以下是最坏的情况:

一切似乎都很完美。花了几个小时后,我意识到添加到正确位置的jquery文件实际上是一个包含空内容的文件!

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="local_xxx.js"></script>

我也有类似的问题,你知道吗,这是因为当我在android设备webview中测试时,网络断开了,我没有意识到这一点,而本地js加载没有问题,因为它不需要网络。这看起来很可笑,但我花了1个小时才弄清楚。

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