Aucun soucis pour l'exemple:
Voilà ce que je faisais (simplifié mais l'idée et là):
<table>
<tr>
<td id='n1'><span onClick='positionner(n1,Yo1);montrer(Yo1);'>bla bla</span></td>
<td id='n2'><span onClick='positionner(n2,Yo2);montrer(Yo2);'>bla bla</span></td>
<td id='n3'><span onClick='positionner(n3,Yo3);montrer(Yo3);'>bla bla</span></td>
</tr></table>
<div id='Yo1' style='position:absolute;display:none;border:1px solid black;background-color:white;'> bla bla bla </div>
<div id='Yo2' style='position:absolute;display:none;border:1px solid black;background-color:white;'> bla bla bla </div>
<div id='Yo3' style='position:absolute;display:none;border:1px solid black;background-color:white;'> bla bla bla </div>
avec pour script:
var a;var b;
function positionner(val,menux){
var c=val.offsetLeft;
var d=val.offsetTop;
a=c;
b=d+40;
menux.style.left=a;
menux.style.top=b;
}
L'idée étant de positionner les div appelées à peu près sous les cellules du tableau les appellant (Je sais qu'il y a d'autres façons d'obtenir cette effet).
Bref, je voulais simplifier le code en ayant:
<div class='Mo' id='Yo1'>bla bla</div>
<div class='Mo' id='Yo2'>bla bla</div>
<div class='Mo' id='Yo3'>bla bla</div>
et définir ainsi dans ma feuille de style, et donc une seule fois:
.Mo{
position:absolute;
display:none;
border:1px solid black;
background-color:white;
}
Voilà, mon soucis n'est plus maintenant de trouver une autre façon d'obtenir l'effet souhaité, mais de pouvoir utiliser class et id en même temps.
J'espère que l'exemple t'aidera.
A bientôt.
Signé Sagat