[Résolu] Pb changement de class javascript
1 message
• Page 1 sur 1
- manuura
- Nouveau WRInaute

- Messages: 11
- Inscription: 28 Fév 2006
[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 :
avec comme fonction javascript :
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 :
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
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
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: Tout sélectionner
<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: Tout sélectionner
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: Tout sélectionner
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
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
- Code: Tout sélectionner
for (var i in a) {
if(a[i].className == 'on') {
a[i].className = 'off';
}
}
1 message
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Class.Name Javascript sur liste dynamique?
- [Résolu] Cannot redeclare class XMLParser in ...
- [Résolu] Javascript et formulaire
- [resolu] Javascript : Pb d'antislash
- [resolu]scroll javascript
- Probleme javascript... [Résolu]
- [Résolu] Infobulle en javascript et référencement
- [résolu] Indexation des images et javascript
- [Résolu] Javascript pour firefox seulement
- [résolu] javascript dans un echo PHP
- Redirection (PHP, JavaScript, serveur...) - 04-07-2003
- Googlebot analyse certains codes JavaScript - 02-05-2006
- Changements de nom de domaine et TrustRank - 18-10-2005
- Petit changement pour Slurp (le robot de Yahoo) - 29-03-2007
- Google sait désormais suivre les liens JavaScript ! - 08-06-2009
- Changer d'hébergeur web sans pénaliser son référencement - 17-10-2005
- Comment faire des liens en dur dans son annuaire - 08-11-2004
- Aperçu des différents types de redirection - 04-08-2008
Consultez la description détaillée des produits ou services de Google suivants : JotSpot, Google Related Links, Google Compute
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
