jQuery и innerHTML()
Я пока не знаю достаточно хорошо фреймворк jQuery, но при знакомстве с ним появился такой вопрос.
Есть такой метод html(), который позволяет добавить на страницу новые теги. Вот пример: Код:
$("h1#firstHeading").html('<p>hello </p>'); Если jQuery так отстойно делает вставку тегов, может его вообще не стоит применять в своих проектах? |
Не знаю, где Вы начитались всего этого бреда, но:
1. jQuery — библиотека, а не фреймворк. 2. innerHTML — свойство, а не метод. 3. innerHTML — вполне нормальный способ добавлять элементы, зачастую более быстрый, чем DOM-методы. И конечный результат тот же самый. |
Цитата:
innerHTML это, вообще говоря, не стандарт. Но есть во всех браузерах, и активно используется. |
Нормальный innerHTML
Попутно вопрос как сделать на jQuery так elem.innerHTML += '<p>test!</p>' |
Цитата:
$(elem).html(oldHtml + addValue); |
Цитата:
Полагаю в jQuery используется что-то вроде этого: $(elem)[0].insertAdjacentHTML('beforeend', html); |
|
Так ведь after вставляет контент после элемента, а не в конце него. Тогда уж .append.
Цитата:
|
Простите за невнимательность, да, append (appendTo)...
|
Вопрос - если использовать innerHTML() вместо html(), получится ли повысить производительность или это лишние заморочки?
Я заметил, что при добавлении таблицы через html() в DOM добавляются элементы, которые я не прописывал в код - <tbody> и <colgroup>. Это значит, что метод html() просматривает добавляемую строку на валидность. Происходит ли то же самое при добавлении содержимого через innerHTML()? |
Цитата:
Цитата:
Подозреваю, что браузер сам добавит то, что должно быть по стандарту. [OFFTOP] Кстати, по поводу TBODY, существуют проблемы в IE, при вставке через innerHTML таблиц. Неоднократно упоминалось на этом форуме. [/OFFTOP] |
спасибо =) значит можно спокойно работать и дальше с jQuery. Кстати с tbody в ie у меня проблем не было замечено, думаю стоит углубиться в этот вопрос. Мне до сих пор не верится, что это хром так добавляет содержимое на страницу, а не jQuery старается
|
При парсинге html (первичная загрузка, изменение innerHTML) DOM-струтура дополняется автоматически. Это наблюдается и с другими элементами (автосоздание тегов <html>, <body>, <head> и тд.)
У старых IE с этим проблемы. Например <tbody> он не создаст и получится битая таблица. |
На jquery это делается так
Цитата:
|
puch, #8
|
Часовой пояс GMT +3, время: 12:19. |