Показать сообщение отдельно
  #23 (permalink)  
Старый 28.05.2010, 15:01
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Сообщение от mycoding Посмотреть сообщение
Хотел спросить, а как генерируются диалоги и другие виджеты в JQuery?
Через innerHTML или через createElements ?

Прочитал вот эту статью http://javascript.ru/optimize/javascript-performance
Т.е. обращение через createElements очень медленное будет по сравнению с innerHTML.

Например попробуем сделать диалоговое окно. Там надо как минимум раз 5 сделать элемент через createElements.
А в innerHTML всего один раз обратится к DOM и всё.
Ведь обращение к DOM очень медленное.
Подскажите, пожалуйста как лучше генерировать диалоговые окна, через какой метод и как это сделано в framework-ах?
mycoding, ну епсель-дропсель, неужели сложно открыть исходник? Пора уже сервис делать Let me read the source for you...

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.

Последний раз редактировалось e1f, 28.05.2010 в 15:03. Причина: upd
Ответить с цитированием