11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'essaie d'adapter un script de JEP de façon à régler un problème de recouvrement. Il me faut pour cela modifier quelques morceaux de JS.

D'où la question suivante :

Dans un <dl>, j'ai n <dt>. Chacun de ces <dt> sont suivis, ou non, d'un <dd>. Lorsqu'ils se suivent, chacun de ces <dt> ou <dd> peuvent porter le même nom (name="nom_n" par exemple) ou la même class. Exemple :

<dl id="recup">

  <dt name="nom_1"></dt>
  <dd name="nom_1"></dd>

  <dt name="nom_2"></dt>
  <dd name="nom_2"></dd>

  <dt name="nom_3"></dt>

  <dt name="nom_4"></dt>
  <dd name="nom_4"></dd>

  [...]

  <dt name="nom_n"></dt>
  <dd name="nom_n"></dd>

</dl>


Ce que j'aimerai faire, c'est agir sur le bon <dd> lorsqu'un <dt> spécifique est survolé. Voilà ce que j'ai prévu de faire (en me basant sur le script de JEP) :

function survoler()
{
DT = document.getElementById('recup').getElementsByTagName('dt'); 
 /* Je récupère la collection des <dt> du bon <dl> (recup) */

nDT = DT.length;
 /* Je compte le nom de lignes de la collection */

for(i=0; i < nDT; i++)
{
DT[i].onmouseover = function(){agir(this)}
}
 /* Je passe le onmouseover sur chaque <dt>.
 Si le <dt> est survolé, lance la fonction agir et "passe"
 le bon élément */


Jusque là, je crois que c'est bon. Voyons maintenant cette fonction agir (je m'occuperai du onmouseout plus tard).

J'aimerai simplement "agir" sur le <dd> correspondant au <dt> que j'ai passé. Pour cela, j'imagine une ligne de ce genre :

function agir(obj_jojo)
{
DD = obj_jojo.getElementsByName(truc);
DD[0].style.display = 'block';
}


Tout ce qui me manque, c'est truc. Comment faire pour extraire le name de mon objet obj_jojo (ici, mon fameux <dt>) ?

J'imagine qu'il existe une fonction. Mais laquelle ? Toute information sera la bienvenue (parce que je nage sur google sans rien trouver).

GS.[/i]
Modifié le 04 Dec 2004 - 20:18
Bon... j'ai : obj_jojo.getAttribute('name') renvoie la bonne valeur.

Vous me copierez cent fois : "Je suis un débutant".

Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant. Je suis un débutant.