jQuery в консоли Chrome (8.0.552.237) - PullRequest
       43

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

17 голосов
/ 25 января 2011

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

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

Спасибо.

Ответы [ 2 ]

17 голосов
/ 12 февраля 2011

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

Консоль внедряет свою собственную функцию (просто сокращение) для 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.

stupid chrome


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

0 голосов
/ 08 мая 2017

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

$ = jQuery
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...