Vous devriez assurez-vous de le faire avec les DOM, pas innerHTML (et si l'utilisation de jQuery solution fournie par jk, assurez-vous qu'il déplace les nœuds DOM, plutôt que d'utiliser innerHTML interne), afin de préserver les choses comme les gestionnaires d'événements.
Ma réponse est un peu comme insin, mais fonctionnera mieux pour les grandes structures (ajout à la fin de chaque nœud séparément peut être éprouvant, redessine où le CSS doit être renouvelée pour chaque appendChild; avec un DocumentFragment, cela se produit uniquement une fois qu'il n'est pas visible jusqu'à ce que après que ses enfants sont tous ajoutés et il est ajouté au document).
var fragment = document.createDocumentFragment();
while(element.firstChild) {
fragment.appendChild(element.firstChild);
}
element.parentNode.replaceChild(fragment, element);