Chrome控制台中的jQuery(8.0.552.237)

Tim*_*Tim 17 console jquery google-chrome-devtools

看来jQuery选择器在Chrome控制台中无法正常运行.任何类型的选择器都返回"null".但是,脚本可以正确运行javascript.

有没有其他人注意到这种变化或知道修复.

谢谢.

Mat*_*all 17

我在自己的问题中揭露了这个原因.

控制台注入了自己的功能(只是一个简写)document.getElementById(),别名$,这会影响jQuery的$.检查这个的简单方法:当你处于断点,并且jQuery似乎被破坏时,在控制台中比较以下内容:

  • jQuery
  • $
  • window.$

第一个和最后一个将是jQuery正确,本地$是这样的:

function () {
    return document.getElementById.apply(document, arguments)
}
Run Code Online (Sandbox Code Playgroud)

这是因为从控制台运行的代码包含在一个with语句中:

with (window ? window.console._commandLineApi : {}) {
with (window) {
    // the actual code you typed in here
}   
}
Run Code Online (Sandbox Code Playgroud)

并且window._commandLineApi.$是影子jQuery的功能.

愚蠢的铬


发现了Chromium中的错误:http://code.google.com/p/chromium/issues/detail?id = 70969

  • 或者,只需输入`jQuery === $`.如果jQuery控制了$符号,它将返回true. (3认同)