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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
getElementByAttribute( 'className', NomDeMaClasse, 'top.leftFrame.document.body');
Mais celà ne fonctionne pas
Qu'est ce que je fais de travers ? Est-ce seulement possible ?