【发布时间】:2011-04-05 08:06:13
【问题描述】:
好的,我在 Firefox 中遇到了这个奇怪的问题。我在 Firebug 的控制台中输入
$ == jQuery
有时显示为真,有时显示为假。该文件只是一个空的 HTML 文档,其中包含一个脚本标记,包括 jQuery。我刷新页面,在控制台点击“运行”,再次,偶尔返回true,偶尔返回false。
在返回 false 的情况下,$.toString() 给出
function anonymous() {
return window.console.notifyFirebug(arguments, "$", "firebugExecuteCommand");
}
现在奇怪的事情来了。当 $ == jQuery 使用 Firebug 的控制台给出 false 时,如果我转到地址栏并输入 javascript:alert($ == jQuery);,它会提示 true!
有人知道这里发生了什么吗?它(偶尔)搞砸了我的调试。
【问题讨论】:
-
看起来 Firebug 使用 $ 符号来表示某些东西。只是一个想法——不确定这是否有效。
-
可能是
noconflict或其他东西。如果你尝试在没有实际加载 jQuery 的情况下执行$===jQuery,除了false之外,你还会得到一个引用错误 -
Firebug 的命令行将
$绑定到a function that callsgetElementById。不过,我想不出一个很好的实际理由来说明两者之间存在混淆,除非您在 jQuery 脚本完全加载之前以某种方式运行 sn-p(但这对我来说似乎不太可能)。跨度> -
@Nick,你使用的是哪个版本的 Firebug?
-
我总是先在控制台上输入
var $ = jQuery;:P
标签: javascript jquery firebug