Цитата:
|
Есть другой вариант. В памяти лежит шаблон HTML - кода. Так же есть ссылки на необходимые элементы, которые нужно "подправить" при создании нового экземпляра шаблона. Таким образом, при создании экземпляра, клонируем нужный шаблон, правим (если надо) и добавляем в DOM одним разом - с помощью documentFragment, если добавляется всё в 1 место. Не уверен, что будет быстрее innerHTML, но удобнее - это факт. Так же не придётся создавать каждый элемент шаблона через createElement.
|
Цитата:
try {
for ( var i = 0, l = this.length; i < l; i++ ) {
// Remove element nodes and prevent memory leaks
if ( this[i].nodeType === 1 ) {
jQuery.cleanData( this[i].getElementsByTagName("*") );
this[i].innerHTML = value;
}
}
// If using innerHTML throws an exception, use the fallback method
} catch(e) {
this.empty().append( value );
}
UPD Kolyaj, innerHTML может иногда подвести в ИЕ, при невалидном html. |
Цитата:
|
Kolyaj, хм, а тема-то старовата, я и не заметил :)
Пример тот, что у ТС'а :) |
Цитата:
|
У ТС'а была проблема, которая и является примером "подвести в ИЕ" :)
UPD Тю, с чего это я решил, что Increazon -- ТС. Туплю, видимо :) |
Цитата:
|
ТС, B~Vladi то бишь, про IE вообще не упоминает. Может ты имеешь в виду
Цитата:
|
Kolyaj, да, я это и имел в виду :) И Вы правы -- тут innerHTML вроде не виноват -- скорее всего это вставка элементов JS-ом до load страницы.
|
| Часовой пояс GMT +3, время: 00:08. |