javascript - Uncaught ReferenceError : jQuery is not defined even working on console

标签 javascript jquery

我需要在 js 文件中包含 jQuery,因为它将作为外部脚本加载。

这是我的代码:

function addjQuery() {
  if (!window.jQuery) {
    var jq = document.createElement("script");
    jq.type = "text/javascript";
    jq.src = "https://code.jquery.com/jquery-3.2.1.min.js";
    document.getElementsByTagName("head")[0].appendChild(jq);
    console.log("Added jQuery!");
  } else {
    console.log("jQuery already exists.")
  }
}
addjQuery();

jQuery(function($) {
  $(document).ready(function() {
  });
});

但是出现错误: Uncaught ReferenceError :jQuery 未定义

即使我在 Chrome 开发工具的控制台上运行“jQuery”或“$”,它也能正常工作。

有什么问题吗?

最佳答案

jQuery() 函数在从脚本标记加载 jQuery 之前触发 - 您可以添加一个 onload 事件处理程序以在脚本下载完成时触发它:

function addjQuery() {
  if (!window.jQuery) {
    var jq = document.createElement("script");
    jq.type = "text/javascript";
    jq.src = "https://code.jquery.com/jquery-3.2.1.min.js";
    document.getElementsByTagName("head")[0].appendChild(jq);
    jq.onload = initjQuery;
    console.log("jQuery is loaded!");
  } else {
    console.log("jQuery already exists.")
  }
}

function initjQuery () {
  jQuery(function($) {
    $(document).ready(function() { });
  });
}

addjQuery();

关于javascript - Uncaught ReferenceError : jQuery is not defined even working on console,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43310984/

相关文章:

javascript - 需要将复杂的json obj转换为合适的angularjs ui树数据json结构

javascript - 在 Javascript 中,是否可以向一个元素添加两次样式属性?

javascript - HTML:JavaScript:阻止表单提交和调用 Javascript 函数

javascript - 无法使用 jquery 定位所需数据

javascript - 通过 nodeList 中的 className 过滤对象

javascript - Angular 4 日期管道短时间格式,每分钟更新一次

javascript - jQuery UI 自动完成 - 在 focusOut 上未选择匹配的选项

javascript - 使用 jQuery append() 添加 html 元素后页面源出现问题

javascript - 如何结合 UA 和 AW 跟踪标签?

javascript - 从代码隐藏(c#)调用 JavaScript 函数不起作用