11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Premier post, pour demander un conseil, bizarre, non ? Smiley cligne

J'ai une liste de liens dans un div "list", qui provoquent l'affichage de données dans une autre div "resultat" :
<a class="lien3" 
href="#" 
onclick="javascript:makeRequest('get_list.php', '?resultat=menu1'); this.style.color='red';">
menu1</a>


Mon souci est que les liens restent en color red quand l'utilisateur clique sur un autre lien (donc avec affichage d'autre résultats).
C'est logique, mais Smiley decu

J'ai essayé ceci :
    function ResetColor() 
    {
    var trs = document.getElementById("list").getElementsByTagName('a');
    for (var n=0;n<trs.length;n++)
      { if(trs[n].style.color = 'red')
        { trs[n].style.color = ''; }
      }
    }

mais ajouter un appel à ResetColor(); dans les onclick ne fonctionne pas...

Un conseil ?
Modifié par Galeenet (10 Jun 2006 - 21:37)
Au lieu de changer directement la couleur, je te propose plutôt d'utiliser deux classes CSS distinctes pour le lien activé et le lien normal. Je ne suis pas certain que la déclaration .style.color=""; supprime la couleur rouge qui a été attribuée avant.
Dans ce cas,

=> javascript:makeRequest('get_list.php', '?resultat=menu1'); this.style.className='clique';

Mais que faire pour enlever la classe ?
Sachant que le lien a une classe au départ (qui détermine la taille, en particulier) , et que ca serait intéressant de pouvoir la récupérer.
Si tes liens ont une classe différente au départ, tu n'as aps d'autre choix que stocker celui-ci dans une variable pour pouvoir le reprendre après...