【问题标题】:ReferenceError: Can't find variable: $ReferenceError:找不到变量:$
【发布时间】:2014-02-20 11:22:51
【问题描述】:

我正在使用 jQuery。这是我在主页上的编码:

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

而我的 script.js 是:

$(document).ready(function(){    
     $("#title").click(function () {
        alert("Works!");
    });
});

我的完整代码可以在这里找到:http://pastie.org/8676656

使用浏览器上的工具,我发现我的 javascript 代码中有错误:

ReferenceError: Can't find variable: $

上线:

$(document).ready(function() {

任何帮助将不胜感激。

【问题讨论】:

  • 你是否包含了 jQuery

标签: javascript jquery html referenceerror


【解决方案1】:

使用前必须先导入 jQuery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>

注意它使用// 作为协议(不是http://https://),这意味着:如果您的.html 文件位于http:// 服务器上,它将从http://ajax.google... 获取jQuery,如果它位于https:// 服务器上,它将从https://ajax.google... 获取。


注意:如果在开发过程中,您在浏览器而不是服务器中打开 HTML 文件,则应指定协议,如 this answer,否则不会工作:

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

此外,如果可能,您应该将 .js 文件放在页面底部,就在关闭 &lt;/body&gt; 之前。在here 中查看更多信息。

【讨论】:

  • 谢谢!我之前尝试使用 jquery 的链接,但它是一个不同的链接。
  • @user3155807 如果这个或任何答案解决了您的问题,请接受适当的答案。
  • @Geo 只需等待所需的 15 分钟
  • @user3155807 抱歉,我忘记了时间限制。
  • 答案的重点是之前。如果在你的代码之后导入 jQuery,它将无法被识别。
【解决方案2】:

在您的代码之前导入 jQuery

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

【讨论】:

  • 结束标签应该是
【解决方案3】:

在你的脚本之前包含 jQuery

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js></script>

【讨论】:

    【解决方案4】:

    这是 jquery 加载问题, 在所有代码和脚本之前加载 jquery。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-24
      • 2016-10-30
      • 2012-03-18
      • 2015-11-16
      • 2011-05-22
      • 2014-12-16
      • 2022-01-23
      • 2019-09-16
      相关资源
      最近更新 更多