Lister des element HTML à partir d'une autre frame
Bonjour,
J'ai trouvé sur le net une fonction bien sympathique qui permet de lister tous les element d'une page selon certains critères.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| function getElementByAttribute(aAttribute,aValue,aInElement)
{
var ElementVerifier;
var Elements=new Array();
function SearchElement(aElement)
{
if(aElement==null||aElement==undefined)return
if(ElementVerifier(aElement))
{
Elements[Elements.length]=aElement;
}
SearchElement(aElement.firstChild);
SearchElement(aElement.nextSibling);
}
if(aInElement==undefined)aInElement=document.body;
str="if(Element."+aAttribute+"=='"+aValue+"'){return true;}else{return false}";
ElementVerifier=function(aElement)
{
Element=aElement;
if(aElement.nodeName=='#text')return false;
var E=new Function(str);
if(E()){return true;}else{return false};
}
SearchElement(aInElement);
return Elements;
} |
Je m'en serre pour lister les elements qui ont une class (css) précise
Code:
getElementByAttribute( 'className', NomDeMaClasse);
Elle fonctionne parfaitement bien mais j'aimerais pouvoir l'éxécuter à partir d'une page pour qu'elle liste les éléments d'une autre frame.
D'après ce que je comprend de cette fonction, elle devrait etre capable de le faire en l'appelant de la façon suivante
Code:
getElementByAttribute( 'className', NomDeMaClasse, 'top.leftFrame.document.body');
Mais celà ne fonctionne pas :(
Qu'est ce que je fais de travers ? Est-ce seulement possible ?