Bonjour,
Pour un script j'ai besoin de parcourir tous les noeuds enfants d'un arbre DOM et effacer certains de ces noeuds. Etant donné que j'utilise l'arbre original pour effectuer la boucle sur tous ses enfants, j'ai alors fait une copie de cet arbre afin d'effectuer les suppression sur ce dernier. Ainsi, les suppressions de noeuds ne devraient intervenir que sur la copie et pas sur l'arbre original!
Cependant ça ne fonctionne pas, l'arbre original est apparemment modifié.
J'ai isolé le problème, il vient de la ligne treeCopy.childNodes....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function test(tree) { var childs = tree.childNodes; var treeCopy = tree; var nbCorrections = 0; for (var i=0; i<childs.length; i++) { if (...) { treeCopy.childNodes[i-nbCorrections].parentNode.removeChild(childs[i]); nbCorrections++; } } }
Est-ce quelqu'un peut me donner un coup de main? Je me tape la tête contre mon clavier depuis ce matin!
Merci d'avance!!!
Partager