Alex Rivera | Logout

jQuery in Chrome Console (8.0.552.237)

Asked 2011-01-25T16:27:20.543
17

It appears that 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.

Edit
Report

1 Answer

17

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.

stupid chrome


Found the bug in Chromium for this: http://code.google.com/p/chromium/issues/detail?id=70969

answered 2011-02-12T03:44:40.070

Your Answer