Подтвердить что ты не робот

JQuery в консоли Chrome (8.0.552.237)

Похоже, что селектора jQuery не работают в консоли Chrome. Любой тип селектора возвращает "null". Однако скрипты действительно запускают javascript.

Кто-нибудь еще заметил это изменение или знал об исправлении.

Спасибо.

4b9b3361

Ответ 1

Я раскрыл причину этого в моем собственном вопросе.

Консоль вводит свою собственную функцию (только сокращенную) для document.getElementById(), с псевдонимом $, , которая затеняет jQuery $. Простой способ проверить это: когда вы находитесь в точке останова, а jQuery, похоже, сломается, сравните следующее в консоли:

  • jQuery
  • $
  • window.$

Первый и последний будет jQuery надлежащим, локальный $ выглядит примерно так:

function () {
    return document.getElementById.apply(document, arguments)
}

Это потому, что код, запускаемый с консоли, завернут в оператор with:

with (window ? window.console._commandLineApi : {}) {
with (window) {
    // the actual code you typed in here
}   
}

и window._commandLineApi.$ - это функция, которая затеняет jQuery.

глупый хром


Нашел ошибку в Chromium для этого: http://code.google.com/p/chromium/issues/detail?id=70969

Ответ 2

Просто запустите на консоли следующую команду, чтобы она работала:

$ = jQuery