Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.10.2014, 10:55
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 181

Парсинг строки при создании элемента
Наткнулся при использовании IE8 на злобную особенность парсинга: $('<input></input>') порождает два DOM-объекта. Я бы мог это списать на то, что input по идее не имеет закрывающего тега... но аналогичные теги $('<img></img>') и $('<br></br>') порождают всего по одному DOM-объекту, хотя также не имеют в оригинале закрывающих тегов (<br></br> - это вообще ахинея полная и никто никогда так не пишет))) ). С другой стороны, насколько мне помнится, к написанию $('<input></input>') меня привел тот факт, что в каком-то браузере $('<input />') привел к ошибке парсинга. Может кто-то знает объяснение этой проблемы и подобные примеры еще?
Ответить с цитированием
  #2 (permalink)  
Старый 29.10.2014, 11:55
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Сообщение от demoniqus
Я бы мог это списать на то, что input по идее не имеет закрывающего тега...
По идее он в принципе не имеет закрывающего тега, а не по идее. Так же как и img и br.

Сообщение от demoniqus
$('<input></input>') меня привел тот факт, что в каком-то браузере $('<input />')
Интересно в каком??
Ответить с цитированием
  #3 (permalink)  
Старый 29.10.2014, 12:24
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 181

Теперь уже не вспомнить, в каком браузере была ошибка при $('<input/>')... хотя скорее всего это также был IE...
Сейчас у меня закралось некоторое подозрение, что проблема $('<input></input>') возникает из-за какой-то библиотеки... т.к. недавно также решал проблему, характерную только для IE - виновата оказалась библиотека infragistics, которая навешивала свои дополнительные методы на Array.prototype. Эти методы то ли поменяли сущность массива. превратив его в объект. то ли фиг знает что произошло, но они стали попадать в итерацию через for in (во всех других браузерах массив вел себя стандартно и дополнительные методы не попали под действие for in). По крайней мере я тупо открыл яндекс в отладчике, выполнил такое же контрольное значение и получил лишь один элемент...
Ответить с цитированием
  #4 (permalink)  
Старый 29.10.2014, 17:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от demoniqus
Теперь уже не вспомнить, в каком браузере была ошибка при $('<input/>')... хотя скорее всего это также был IE
Вспоминай. Я например не знал, но хотелось бы знать. Хотя скорее всего ты чета перепутал и <input/> нормально парсится. Я бы еще пробел поставил перед слэшем (не уверен зачем, но лучше поставить).
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 29.10.2014, 19:06
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от demoniqus
'<input></input>'
Вообще, это некорректная разметка. Второй тег будет просто проигнорирован (причем это Parse Error, но он никуда не репортится, разве что в инструменты разработчика).
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
autocomplete, обработка элемента списка при фокусе culver jQuery 12 29.06.2014 14:52
Отступы при удалении элемента формы bona Общие вопросы Javascript 7 07.11.2013 14:27
Передача ссылки на объект при создании элемента Ваяс Элементы интерфейса 5 22.10.2013 01:00
Удаление элемента DOM при неполном обновлении страницы (ВКонтакте) jsuser Events/DOM/Window 6 08.02.2013 21:28
раскрывать/скрывать <td> при выборе определенного элемента списка zip Элементы интерфейса 2 19.01.2009 13:58