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