Показать сообщение отдельно
  #11 (permalink)  
Старый 29.07.2009, 21:03
Интересующийся
Отправить личное сообщение для Diem Посмотреть профиль Найти все сообщения от Diem
 
Регистрация: 24.07.2009
Сообщений: 15

document.createElement() можно и нужно! юзать. Но есть ситуации, когда этот метод не подходит, например если html получаешь ajax-ом.

document.createDocumentFragment() можно использовать в цикле затусовав туда все элементы, а потом один раз replaceChild, вместо множественных insertBefore;

function replace(targetNode, html)
    {
        var tmpNode = document.createElement('div');
        tmpNode.innerHTML = html;
        
        var fragmentNode = document.createDocumentFragment();
        while (tmpNode.firstChild) {
            fragmentNode.appendChild(tmpNode.firstChild);
        }
        
        targetNode.parentNode.replaceChild(fragmentNode, targetNode);
    }

Последний раз редактировалось Diem, 31.07.2009 в 13:58.
Ответить с цитированием