Bonjour à tous,
voilà mon problême :
j'essaye d'insérer un fragment dom dans mon document, mais les styles du document identifié par une classe ne sont pas appliqués à ce bout de code ajouté...
Le style n'est pas pris en compte ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 (...) var fragment = xsltProcessor.transformToFragment(xml, document); var node = document.createElement('div'); node.appendChild( fragment); formNode.parentNode.replaceChild( node , formNode ); (...)
debug :
- si je crée un noeud "fragment" de toute pièce, les styles sont correctement appliqués. Si j'insère un bout de code en innerHTML, ça marche aussi. (au fait, y a t il un moyen simple de convertir un noeud dom en texte ?)
- si je récupère un document plutôt qu'un fragment, que je récupère la racine de ce document et que je l'insère, ça ne marche pas non plus.
- j'ai essayé de refaire explicitement un import : document.importNode(fragment, true); ou de prendre le noeud racine de mon fragment, mais sans succès.
- il semblerait que seuls les styles identifiés par la classe ne soient pas appliqués. par exemple le style css span{} est appliqué mais pas le style span.classe{} ; en vérifiant que mon fragment contient bien les attributs de classe, je m'aperçois : qu'un getAttribute('class') me renvoie bien la classe, mais qu'un className me retourne undefined... le problême viendrait peut-être de là... ceci dit, même en affectant explicitement la classe à node.className, les styles de classe sont ignorés...
je suis à cours d'idée, là...
merci, en tout cas, à tous ceux qui voudront bien jeter un coup d'oeil...
Partager