Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Замена элемента со всеми потрохами (https://javascript.ru/forum/events/4464-zamena-ehlementa-so-vsemi-potrokhami.html)

Diem 29.07.2009 21:03

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);
    }


Часовой пояс GMT +3, время: 06:38.