Bonjour,

J'aimerais dans le cadre de mon application remplacer l'intégralité de l'arbre DOM représentant mon document (c'est-à-dire tout l'arborescence avec le tag html comme parent).

En fait, à un moment x je crée un clone de tout mon arbre et le stocke bien au chaud dans une variable. Ensuite j'effectue quelques modifications dynamique à mon document (et donc sur mon arbre original)...tout à la fin, je souhaiterais que le document affiché soit à nouveau celui au moment x. Est-il possible de le faire?

J'ai essayé plusieurs choses dont celle-ci qui ne fonctionne pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
var oldChilds = this.formDocument.documentElement.childNodes;
var newChilds = copy.childNodes;
for (var i=0; i<oldChilds.length; i++)
	this.formDocument.documentElement.replaceChild(newChilds[i], oldChilds[i]);
formDocument est une variable qui contient le document tout entier qui est présent dans une frame de mon appli.

Etant donné que ceci ne fonctionnait pas, j'ai essayé aussi de supprimer un à un chaque noeud enfant du document original puis d'ajouter un à un au document original les noeuds enfants du document copié :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
var oldChilds = this.formDocument.documentElement.childNodes;
var newChilds = copy.childNodes;
 
for (var i=0; i<oldChilds.length; i++)
	this.formDocument.documentElement.removeChild(oldChilds[i]);
 
for (var i=0; i<newChilds.length; i++)
	this.formDocument.documentElement.appendChild(newChilds[i]);
Mais là encore ça ne fonctionne pas...rien ne se passe apparemment!!

Ca serait vraiment génial si vous pouviez m'aider, merci d'avance!