【发布时间】:2018-08-02 17:16:04
【问题描述】:
我正在尝试在 Chrome 开发者控制台中运行一个简单的 JQuery 脚本,但我遇到了问题。
我在 Chrome 开发者控制台上运行这段代码没有问题:
var someValue = $("[name='Jack']");
if(someValue !== null){
console.log("Jack is here!");
}
但是,当我尝试在 setTimeout 函数中运行相同的代码时出现错误,如下所示:
setTimeout(function(){
var someValue = $("[name='Jack']");
if(someValue !== null){
console.log("Jack is here!");
}
}, 1000);
未捕获的引用错误:$ 未定义
这不仅发生在 setTimeout 函数中,它也发生在普通函数中。
我正在使用最新版本的 Google Chrome。如何在 setTimeout 函数中使用上述 JQuery?
【问题讨论】:
-
您是从控制台还是从脚本文件运行 setTimeout() 函数?如果来自脚本文件,您可能会在加载 JQuery 文件之前使用 setTimeout() 加载脚本。
-
不,我只是在使用 Chrome 控制台。没有任何脚本文件。
-
首先在你的控制台中运行这个:
var script = document.createElement('script');script.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js";document.getElementsByTagName('head')[0].appendChild(script);你正在工作的页面可能不会在你的代码之前加载jquery -
感谢@EmmanuelNK 成功了。我想知道为什么它在函数之外起作用而不在内部起作用?
-
@Lujska 因为
$是控制台内置的,但在setTimeout等其他上下文中却不是。
标签: javascript jquery google-chrome google-chrome-devtools