j'ai suivi cet extrait http://bytes.com/topic/javascript/answers/504399-get-all-text-nodeséviter les caractères spéciaux échapper textnode (JS-HTML)
var xPathResult = document.evaluate(
'.//text()[normalize-space(.) != ""]',
document.body, null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
null); for (var i = 0, l = xPathResult.snapshotLength; i < l; i++) {
var textNode = xPathResult.snapshotItem(i);
textNode.data = textNode.data.replace(/somePattern/g, 'replacement');
}
je veux remplacer certains modèles comme par exemple |12|
avec une émoticône correspondante! mais quand je fais textNode.data.replace("|12|",'<.img src="favicon.ico"/>');
par exemple le spectacle texte est ..<.img src="favicon.ico"/>..
que je visite le code html je trouve que <.img src="favicon.ico"/>
à <img src="favicon.ico"/>
est devenu échappèrent est-il possible d'empêcher cela et de laisser le spectacle d'image ?? Merci Vous
Note: point supplémentaire ajoutée ici <.img src="favicon.ico"/>
But
C'est certainement la meilleure approche. Ne soyez pas séduit par innerHTML pour cela. –
ne pas oublier de créer une boucle qui les fera tous et pas seulement le premier. –
Oui, cette boucle remplace toutes les occurrences d'une chaîne dans un seul noeud Text; vous avez toujours besoin de faire une boucle sur tous les nœuds de texte soit en utilisant XPath, soit en exécutant un arbre manuel/'getElementsByTagName ('*')'. – bobince