2009-12-22 11 views
0

Si vous regardez this screenshot, j'essaie d'afficher l'image rouge sous un lien lorsque vous cliquez dessus. Si vous cliquez sur le lien 2, il apparaîtra sous le lien 2.jQuery addClass() ne fonctionne pas dans IE6

Il fonctionne dans tous les navigateurs majore sauf IE 6. Lorsque je clique sur un lien dans IE 6, il charge la classe on pour le ul, mais l'image ne montrer.

Quelqu'un peut-il voir un problème avec le code que j'ai?

Merci d'avance pour votre aide!

Voici le code HTML:

<ul id="slider-links"> 
<li class="on"><a href="#">Link 1</a><img src="img/slider-handle.png" width="316" height="42"></li> 
<li><a href="#">Link 2</a><img src="img/slider-handle.png" width="316" height="42"></li> 
<li><a href="#">Link 3</a><img src="img/slider-handle.png" width="316" height="42"></li> 
</ul> 

Voici le jQuery:

$("#slider-links a").click(function(){ 
$(this).parent().siblings(".on").removeClass("on"); 
$(this).parent().addClass("on"); 
}); 

Voici le CSS:

#slider-links li { 
position: relative; 
z-index: 8000; 
background: #bed2d9; 
border-bottom: 1px solid #69868f; 
} 
#slider-links li.on a {color: #dbdbdb;} 
#slider-links li a { 
padding: 10px 15px; 
display: block; 
color: #234a5b; 
font-size: 16px; 
font-weight: bold; 
text-decoration: none; 
position: relative; 
z-index: 10000; 
} 
#slider-links li.on img {display: block;} 
#slider-links img { 
position: absolute; 
top: -1px; 
left: 0; 
z-index: 9000; 
display: none; 
} 

Répondre

1

Le problème est avec IE6, pas votre code. Je commencerais à déboguer ceci en alertant qui est le parent et qui est le frère ou la soeur dans IE6.

+0

Je pensais que cela pourrait être aussi, mais si je mets un identifiant sur l'une des images et que je tente de l'afficher en utilisant $ ("# img-id"). Show(); cela ne fonctionne pas non plus dans ie6. Peut-être que ça a quelque chose à voir avec le css ... – RandyLahey

1

IE6 a des problèmes avec les png transparents. Vous devrez utiliser une correction png - il y a beaucoup d'options là-bas. Peut-être essayer avec un non premier. Juste pour être sûr.

Si ce n'est pas le problème, essayez peut-être de supprimer la classe 'on' pour tous les éléments li dans le ul au lieu de faire l'appel .siblings().

Vous devez également fermer cette balise d'image.

+1

J'ai découvert pourquoi ça ne fonctionnait pas, c'est parce que j'utilisais un fixateur png, et que ça faisait des trucs fous à l'image. – RandyLahey

+0

@RandyLahey - Vous devriez écrire votre solution comme une réponse - y compris quel correctif png était problématique - et ensuite l'accepter. – KatieK

Questions connexes