Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

[Résolu] Pb changement de class javascript

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
manuura
Nouveau WRInaute

Inscrit le: 28 Fév 2006
Messages: 10

URL permanente de ce messagePosté le : Jeu Avr 17, 2008 21:01    Sujet du message: [Résolu] Pb changement de class javascript

Bonjour,

je me permets de solliciter l'aide éclairée des membres du forum car je sèche bêtement sur un bout de code javascript tout con depuis un bon moment.

Je m'explique.

Je souhaite au moment d'un clic sur un élément, changer la classe de cet élément ainsi que celle d'autres éléments de la page.

J'ai donc un code html qui ressemble à ça :

Code:
<ul>
<li class="left"><a class="off" href="#;" onclick="changeEtat(); this.className='on';">bla</a></li>
<li class="mid"><a class="on" href="#;" onclick="changeEtat(); this.className='on';">bla</a></li>
<li class="right"><a class="on" href="#;" onclick="changeEtat(); this.className='on';">bla</a></li>
</ul>


avec comme fonction javascript :

Code:
function changeEtat() {
var a = document.getElementsByTagName('a');
   for (var i=0; a.length; i++) {
      if(a[i].className == 'on') {
         a[i].className = 'off';
      }
   }
}


Donc ma fonction va chercher tous les éléments de classe 'on' et les passe en 'off'.
Sauf que firebug me renvoit l'erreur suivante :

Code:
a[i] has no properties
[Break on this error] if(a[i].className == 'on') {


Cela a pour conséquence de bien mettre mes autres éléments en classe 'off' mais je pense qu'il y a un pb avant la fin de ma boucle et que du coup mon action this.className='on' n'arrive jamais.

Voilà, je bloque là-dessus donc si quelqu'un pouvait m'indiquer comment débugger mon code, je lui en serai très reconnaissant.

Merci Smile

P.S. : au passage, comment puis-je inclure mon this.className='on' dans ma fonction ?

EDIT : j'ai trouvé, il faut savoir écrire une boucle tout simplement Embarassed

Code:
for (var i in a) {
      if(a[i].className == 'on') {
         a[i].className = 'off';
      }
   }
 
manuura Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort