为什么这段代码会抛出

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

以前什么时候还好?

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

当前回答

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

其他回答

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

好吧,我的问题不同了——这是Chrome中的文档安全模型。

看看这里的答案,很明显,在调用$(document).ready()等函数之前,我没有加载jquery文件。然而,他们都处于正确的位置。

在我的情况下,这是因为我通过安全的HTTPS连接访问内容,而页面试图从谷歌等下载CDN托管的数据。解决方案是将它们存储在本地,然后直接包含,而不是每次都从CDN。

编辑:这样做的另一种方式是以https://而不是http://的形式链接到所有CDN托管的内容,这样模型就不会抱怨了。

首先在索引文件中包含jQuery CDN(或jQuery ref)。在包含JS文件以确保我们正在访问jQuery之前。下面的台词对我有用

通过参考以下链接可以清楚地了解这一点参考站点:

https://www.tutorialrepublic.com/faq/how-to-fix-dollar-is-not-defined-error-in-jquery.php

答:在jQuery库加载后执行代码错误“UncaughtReferenceError:$未定义”背后最常见的原因是在jQuery库文件加载之前执行jQuery代码。因此,确保仅在jQuery库文件加载完成后才执行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>

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

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