2009-10-30 7 views
0

Je rencontre des problèmes IE7 (et probablement IE6) avec le script.Problème de script Jquery IE7 ajouter/supprimer une classe

<script type="text/javascript"> 
$(document).ready(function(){ 
    $(".testimonial:first").show(); 
    $("li.testID:first").addClass("selectedName"); 

    $("li.testID").click(function(){ 
     $("li.testID").removeClass("selectedName"); 
     $(this).addClass("selectedName"); 
     $(".testimonial").hide(); 
     $(this).next(".testimonial").css({ 
       zIndex:'9999', 
       }).fadeIn("slow"); 
    }); 
}); 
</script> 

Il est destiné à ajouter une classe selectedName au premier élément dans la liste (essentiellement fait en gras) et montre la div correspondant à la classe « témoignage ». Ensuite, une fois que vous cliquez sur un autre, il ajoute la classe et recharge la div.

Fonctionne bien dans FF et Safari mais je ne reçois rien dans IE7, il ne permute pas la première classe sur le document prêt et ne change rien sur le clic.

Des idées?

Merci!

Répondre

3

A partir de ce morceau de code:

$(this).next(".testimonial").css({ 
      zIndex:'9999', 
}).fadeIn("slow"); 

Je suis assez sûr que IE selfs sur cette virgule à la fin:

  zIndex:'9999', 

Retirez la virgule, voir si cela fonctionne comme ça. Pour élargir sur ma réponse, je suis 99,99% sûr que IE ne tolère pas une virgule avant un crochet fermé. Je ne me souviens pas si ça en tolère un juste avant de fermer une parenthèse bouclée mais ça vaut le coup.

+0

ou le changer en un point-virgule qui était probablement destiné –

+0

Wow, désolé, je devrais vraiment avoir remarqué cela. Définitivement le problème résolu! – askon

+0

Je pense qu'il avait probablement quelque chose en dessous, il l'a enlevé et a oublié d'enlever la virgule aussi. Je ne pense pas un point-virgule serait correct, car il est un littéral d'objet: {un: '1', deux: '2'} est correct, alors: {un: '1'; deux: '2'} serait erroné puisque * un: '1' * n'est pas une instruction. –