为什么这段代码会抛出

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

以前什么时候还好?

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

当前回答

如果您在.Net中执行此操作,并且正确引用了脚本文件,并且jQuery看起来很好,请确保您的用户可以访问脚本文件。我正在处理的项目(一名同事)的web.config拒绝匿名用户访问。匿名用户可以访问我正在处理的页面,因此他们无权访问脚本文件。将以下内容放到web.config中,一切正常:

  <location path="Scripts">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

其他回答

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

您应该首先引用jquery脚本。

<script language="JavaScript" type="text/javascript" src="/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/jquery-ui-personalized-1.5.2.packed.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/sprinkle.js"></script>

如果在jQuery插件加载到浏览器之前加载了自定义脚本,则可能会出现这种类型的问题。因此,在调用jQuery插件后,始终保留自己的JavaScript或jQuery代码,因此解决方案是:

首先将链接添加到GoogleApis托管的jQuery文件或您将从中下载的本地jQuery文件http://jquery.com/download/和服务器上的主机:

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

或jQuery的任何插件。然后放入自定义脚本文件链接或代码:

<script src="js/custom.js" type="text/javascript"></script>

在我的例子中,我有这个referenceError,因为脚本调用的顺序错误。通过更改顺序解决了这一问题:

<script src="js/index.js"></script>
<script src="js/jquery-1.10.2.js"></script>

to

<script src="js/jquery-1.10.2.js"></script>
<script src="js/index.js"></script>

我想尝试使我的脚本异步。然后我忘记了这一点,当我上线时,[custom].js文件只在jQuery.js之前加载了50%的时间。

所以我改变了

<script async src="js/script.js"></script>

to

<script src="js/script.js"></script>