Парсинг строки при создании элемента
Наткнулся при использовании IE8 на злобную особенность парсинга: $('<input></input>') порождает два DOM-объекта. Я бы мог это списать на то, что input по идее не имеет закрывающего тега... но аналогичные теги $('<img></img>') и $('<br></br>') порождают всего по одному DOM-объекту, хотя также не имеют в оригинале закрывающих тегов (<br></br> - это вообще ахинея полная и никто никогда так не пишет))) ). С другой стороны, насколько мне помнится, к написанию $('<input></input>') меня привел тот факт, что в каком-то браузере $('<input />') привел к ошибке парсинга. Может кто-то знает объяснение этой проблемы и подобные примеры еще?
|
Цитата:
Цитата:
|
Теперь уже не вспомнить, в каком браузере была ошибка при $('<input/>')... хотя скорее всего это также был IE...
Сейчас у меня закралось некоторое подозрение, что проблема $('<input></input>') возникает из-за какой-то библиотеки... т.к. недавно также решал проблему, характерную только для IE - виновата оказалась библиотека infragistics, которая навешивала свои дополнительные методы на Array.prototype. Эти методы то ли поменяли сущность массива. превратив его в объект. то ли фиг знает что произошло, но они стали попадать в итерацию через for in (во всех других браузерах массив вел себя стандартно и дополнительные методы не попали под действие for in). По крайней мере я тупо открыл яндекс в отладчике, выполнил такое же контрольное значение и получил лишь один элемент... |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 16:07. |