It appears th开发者_开发知识库at jQuery selectors are not functioning in the Chrome Console. Any type of selector returns "null". The scripts do properly run the javascript, however.
Has anyone else noticed this change or know of a fix.
Thanks.
I uncovered the cause of this in my own question.
The console injects its own function (just a shorthand) for document.getElementById()
, aliased to $
, which shadows jQuery's $
. Easy way to check this: when you're at a breakpoint, and jQuery seems to be broken, compare the following in the console:
jQuery
$
window.$
The first and last will be jQuery proper, the local $
is something like:
function () {
return document.getElementById.apply(document, arguments)
}
This is because code run from the console is wrapped in a with
statement:
with (window ? window.console._commandLineApi : {}) {
with (window) {
// the actual code you typed in here
}
}
and window._commandLineApi.$
is the function that shadows jQuery.
Found the bug in Chromium for this: http://code.google.com/p/chromium/issues/detail?id=70969
Just run the following command on the console to make it work:
$ = jQuery
精彩评论