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