【问题标题】:$ not defined when running jQuery$ 在运行 jQuery 时未定义
【发布时间】:2015-02-13 00:11:24
【问题描述】:

我有以下代码,每当我用 HTML 加载它时,控制台都会在加载后立即给出错误。

Uncaught ReferenceError: $ is not defined

我的脚本链接到 HTML 文件,如下所示:<head> 中的 <script src="src-animation.js"></script>


这是我的 jQuery:

$(document).ready(function(){
    $('.play').click(function() {
        $(this).fadeOut('slow');
        $(this).append("<h1>Now loading...</h1>");
    });
    $('.not-rdy').click(function(){
        alert("This chapter isn't done yet.\nComing soon!");
        $(this).fadeOut('fast');
    });
    $('#updateCHK').click(function() {
        alert("Server is temporarily unavailable.\nTry again later.");
    });
});

我做错了什么?

【问题讨论】:

标签: jquery referenceerror


【解决方案1】:

加载外部 JavaScript 文件的顺序很重要。 您必须在自定义 .js 文件的 &lt;script&gt; 之前包含 jQuery 的 &lt;script&gt;

所以,在&lt;head&gt;

<script src="jquery.js"></script>
<script src="src-animation.js"></script> 

替换您的特定 jQuery .js 文件的正确名称。

或者,您可以使用 jQuery 文件的 CDN 版本。这意味着您正在使客户端浏览器从另一个 Web 服务器下载 jQuery .js 文件。在这种情况下,你会做这样的事情:

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

【讨论】:

  • 所以从我看,你必须先下载jQuery库才能使用它?
  • 不,您不必下载 jQuery。您可以从 CDN 引用它。但这仍然必须在您的其他 .js 文件的脚本标记之前的
  • 我猜从 CDN 采购不适用于离线 HTML。我说的对吗?
  • 您可能无法离线依赖 CDN,但可以在用户离线之前下载和缓存 jQuery 库,在这种情况下,它可能仍然存在以供离线使用。
猜你喜欢
  • 2013-04-03
  • 1970-01-01
  • 1970-01-01
  • 2014-10-02
  • 2017-05-25
  • 1970-01-01
  • 2020-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多