【问题标题】:Jquery $ Not defined, but it isjquery $ 未定义,但它是
【发布时间】:2014-07-12 22:15:14
【问题描述】:
<script>
$(document).ready(function () {
function updateData(){
  $('#ajax').load('./alerts.php', function(){
    setTimeout(updateImage, 2000);
  });
};

updateData();
});
</script>

上面的 $ 是 devtools js 控制台看到的错误。在 $(文档)

但我在此页面底部使用 CDN 处理 jQuery。

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>

我一直在阅读以下内容,

该错误只能由以下三种情况之一引起:

  1. 您的 JavaScript 文件未正确加载到您的页面中
  2. 您有一个拙劣的 jQuery 版本。这可能是因为有人编辑了核心文件,或者插件可能覆盖了 $ 变量。
  3. 您在页面完全加载之前运行了 JavaScript,因此,在 jQuery 完全加载之前。

一个。为什么不呢?

b.它来自 jQuery 的 CDN 页面

c。没有它在底部...

【问题讨论】:

  • 你的脚本应该在 jquery 脚本之后
  • 应该先添加&lt;script&gt;加载库,它不涉及任何DOM,所以应该先加载。
  • 将您的脚本移动到 CDN 之后
  • 您的脚本位于页面顶部,而您正在页面底部加载 jQuery。您的脚本必须在 jQuery 加载之后。
  • 好吧,你应该在底部包含所有的 js,包括你的脚本,它应该在 CDN 之后出现

标签: javascript jquery html twitter-bootstrap include


【解决方案1】:

回答您的主要问题和 cmets 中的问题:

1) 您必须在调用/加载 jQuery 库之后包含/加载您的 jQuery 脚本。

2) 如果您希望 js 位于页面底部,您可以将所有 js 移动到底部,但请确保在加载脚本之前先调用/加载 jQuery 库。

【讨论】:

  • 谢谢,这是最有意义的。
【解决方案2】:

您应该检查资源是否已加载。 您访问 html 文件的协议是什么? 如果使用file://,浏览器无法获取CDN资源。

【讨论】:

【解决方案3】:

看起来带有代码的脚本标记在 jQuery 导入之前。

【讨论】:

猜你喜欢
  • 2018-11-09
  • 2021-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多