addClass removeClass ne fonctionne pas dans IE..!
fonctions jQuery addClass et removeClass ne fonctionnent pas correctement lorsque je les utiliser pour modifier l'apparence d'une balise div dans Internet Exploer (IE). Cependant, ils fonctionnent très bien dans d'autres navigateurs.
Voici un exemple de code pour illustrer mon problème:
if ($('#tdh').hasClass('current')){
$("#u50").addClass('u59c');
$("#u59").addClass('u59b');
$("#u61").removeClass('u59b');
}
CSS:
.u59b {
background-color: #3B5998;
color: #FFFFFF;
font-family: Segoe UI Light;
font-style: normal;
font-weight: bold;
padding-right: 13%;
text-decoration: none;
width: 196px;
}
.u59c {
color: #3B5998;
font-family: Segoe UI Light;
font-style: normal;
font-weight: bold;
padding-left: 10%;
text-decoration: none;
}
HTML
<a href="Page/tdh.aspx" id="tdh" class="current">
<div id="u59" class="u59 u124-pad">
Title1
</div>
</a>
<a href="Page/tdh2.aspx" id="tdh2">
<div id="u63" class="u59 u59b u124-pad">
Title2
</div>
</a>
- Montrez votre balisage HTML
- Quelle version de IE?
addClass
etremoveClass
travail. Quelque chose ne fonctionne pas.- définir "ne fonctionne pas". Les classes sont-elles pas attaché, ou ils n'ont aucun effet?
- Je doute fortement que vous avez trouvé un bug dans
addClass
, plus probable que votre logique est faux et donc votre résultat != résultat réel. - Ce travail uniquement dans IE 10.
- Dans ce cas, cette condition ne sera pas exécutée car le #tdh n'a pas l' .classe actuelle
- l' .de classe en cours seront ajoutés lors du chargement de la page par un autre script et il fonctionne bien... j'ai utilisé le debug (F12) et l' .classe actuelle déjà ajouté, mais l'état de menu change pas.
- Assurez-vous que vous êtes l'exécution de ce script après l'ajoute de la tha .de classe en cours od essayez d'exécuter le script d'ajout et de suppression de classes à l'intérieur d'un $(window).bind("load", function(){ ... votre code pour l'événement load ... });
- Merci beaucoup Vleran. C'est ce que j'ai besoin..:)
Vous devez vous connecter pour publier un commentaire.
Essayer
Essayez d'ajouter
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
à l'intérieur de la balise headou cette
<meta http-equiv="X-UA-Compatible" content="IE=Edge;chrome=1">
Assurez-vous que vous exécutez le script qui ajoute et supprime les classes après la ajoute de la tha .classe actuelle ou essayez d'exécuter le script d'ajout et de suppression de classes à l'intérieur d'un
$(window).bind("load", function(){ ... your code for the load event ... });
con ExtJs: classe: 'xxx-readonly', se supone que ya tiene esta clase el d'entrée, es necesario poner otra vez el foco (senderField.focus(true, 12)), par IE, y para los otros navegadores, esto no da problemas.
--Edit en anglais--