2010-07-18 3 views
1

Pour le code HTML suivant:Jquery fonction addClass échoue dans IE7 pour l'élément td

<td class="width2 padLeft" id="loading_45">&nbsp;</td> 

la JQuery suivante:

$('#loading_45').addClass('loading'); 

Avec la définition css suivante:

td.loading 
{ 
    background-image:url("../images/icon_loading_circle.gif"); 
    background-position:left center; 
    background-repeat:no-repeat; 
    height:auto; 
    position:absolute; 
    text-align:center; 
} 

ne le fait pas provoque l'image de fond à apparaître dans IE7 (fonctionne très bien dans FF)

Est-ce que quelqu'un a une idée de ce que je fais de mal? Comme Pointy a noté que le problème était dans le CSS la position: absolue; définition doit être retiré Merci à tous pour répondre si vite

+2

* Quand ce code est-il exécuté? –

+0

Lorsqu'un événement OnChange se produit – Noam

Répondre

1

Je suis sûr que « addClass » est travaille, en ce qu'elle est l'ajout de la classe à l'élément, si (comme les notes @Gaby) vous le faites au bon moment . Comme cela fonctionne dans Firefox, vous l'êtes probablement.

Je soupçonne que le problème pourrait simplement être que votre feuille de style est IE7 out freaking. Mettre "position: absolute" sur une cellule de table est susceptible de causer des problèmes, comme de rendre la cellule de tableau rendue complètement au mauvais endroit. Lorsque je l'essaie, les cellules du tableau apparaissent toujours dans le coin supérieur gauche de la page, même si la feuille de style ne spécifie pas de "haut" ou de "gauche". Essayez de tester votre page avec cette classe codée en dur sur la cellule du tableau et voyez ce qui se passe.

+0

Vous avez raison, le problème était avec css définition de position: absolue. Le supprimer a résolu le problème – Noam

0

assurez-vous que le code court après le DOM est chargé à l'aide

$(function(){ 
    $('#loading_45').addClass('loading'); 
}); 

ou

$(document).ready(function(){ 
    $('#loading_45').addClass('loading'); 
}); 

Assurez-vous également que les éléments a une largeur/hauteur qui correspond à l'image de fond.

Démo: http://www.jsfiddle.net/9PZZB/2/

+0

Merci, assurez-vous qu'il le fait – Noam