OVH Cloud OVH Cloud

Parcours du DOM

2 réponses
Avatar
Guillaume JAY
Bonsoir,

Je parcours dans mon userscript GreaseMonkey tout les noeuds text de
ma page Web en utilisant Xpath.

Mais si je veux que ca marche avec Trixie ou RoundAbout, donc sous IE,
je peux pas utiliser XPath.

Quelle est la boucle a ecrire en javascript pour recuperer tout noeuds
texte du DOM de la page ?

Merci,

Guillaume

2 réponses

Avatar
YD
Quelle est la boucle a ecrire en javascript pour recuperer tout noeuds
texte du DOM de la page ?


Parcourir récursivement *tous les noeuds* (à partir du body) et en
vérifier le type (nodeType == 3 -> noeud texte).

Vite bricolé ça donne :

function through(aNode){
var result=Array();
var children=aNode.childNodes;
for(var i=0; i<children.length; i++){
if(children[i].nodeType==3)result[result.length]=children[i];
if(children[i].firstChild) result=result.concat(through(children[i]));
}
return result;
}


à appeler avec quelque chose comme :

window.onload=Function("allTextNodes=through(document.body);")

HTH

--
Y.D.

Avatar
Guillaume JAY
HTH


Je pense, oui. (sinon, je reviens..)

Merci !

Guillaume