для расширения на @Nan ответ, это, вероятно, что-то делать с JQuery с использованием getElementById
для проверки шагом в итерация. Добавление этого метода в HTMLElement
приведет к тому, что некоторые условия подтвердятся, если часть кода jQuery зависит от того, что он не проверяет.
Сложно сказать, какая именно версия вызывает проблему, и в каких ситуациях, но быстро посмотрите на старые версии jQuery, вы можете видеть, что find()
в старой версии несовместим с элементами, имеющими метод getElementById
.
Возвращаясь к версии 1.3, вы можете попытаться добавить метод в HTMLElement, и вы увидите, что он испортил результат. Более поздняя версия обрабатывает это правильно. Смотрите фрагмент:
alert('Without getElementById method on HTMLElement, length of $("div").find("#test") is ' + $('div').find('#test').length);
window.HTMLElement.prototype.getElementById = function(str){
console.log(str);
return str;
}
alert('With getElementById method on HTMLElement, length of $("div").find("#test") is ' + $('div').find('#test').length);
<script src="https://code.jquery.com/jquery-1.3.js"></script>
<div id="container"><div id="test"></div></div>