search and replace seulement sur les balises de text
Bonjour à tous,
Je suis en train d'écrire un script de search and replace mais un problème me bloque.
Quand je parcours tout les éléments de ma page le script parcours et change aussi les éléments contenu dans les élements de script : ce que je ne veux pas. J'ai essayé nodeType ou tagName ou encore nodeName mais ils ne m'indique pas quand un élément est de type script.
En gros j'en suis là:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<script type="text/javascript">
function htmlreplace(a, b, element) {
if (!element) element = document.body;
var nodes = element.childNodes;
var excludes = 'html,head,style,title,link,meta,script,object,iframe';
for (var n=0; n<nodes.length; n++) {
if ((nodes[n].nodeType == Node.TEXT_NODE)||((excludes + ',').indexOf(nodes[n].nodeName.toLowerCase() + ',') === -1)) {
var r = new RegExp(a, 'gi');
alert(nodes[n].tagName);
nodes[n].textContent = nodes[n].textContent.replace(r, b);
} else {
htmlreplace(a, b, nodes[n]);
}
}
}
htmlreplace('233', 'r');
</script> |
Comment procéder pour parcourir tout les élements de la page sans les élements de script.
Merci d'avances pour vos réponses.