2011-08-31 6 views
0

Pourquoi mon toggleclass ne fonctionne pas?ToggleClass ne fonctionne pas correctement

http://jsfiddle.net/xH8ME/1/

(Le travail toggleclass() ne marche pas, mais il devrait fonctionner)

+0

de ce que je peux voir est la classe 'affin de warnings_receiver_highlight' il est juste d'avoir ces styles redéfinis par votre classe' userGridViewItem'. – Chad

+0

D'où la "cascade" en CSS :) dernières victoires, resequence la feuille de style. –

Répondre

1

Il fonctionne, mais les styles sont s'outrepassée.

Essayez avec ceci:

.warnings_receiver_highlight { 
    background: #000 !important; 
    color: #000 !important; 
} 

Démo: http://jsfiddle.net/xH8ME/3/

+0

Le "poids" du sélecteur de style est élevé par le! Important. Fait à noter, ceci pourrait également être résolu par la "séquence" qui pèserait une dernière définition plus élevée - ainsi la reséquence à avoir le style de surbrillance LAST fonctionnerait également. –

0

La classe bascule fonctionne bien, il est votre CSS qui est foiré, j'ai un violon corrigé ici http://jsfiddle.net/xH8ME/2/

Fondamentalement vous avez les deux classes définies ci-dessous. Puisque vos divs ont les deux classes, comment le navigateur sait-il quel arrière-plan devrait être appliqué? Parce que .userGridViewItem est défini en premier dans l'élément qui est la classe dont il tire la couleur d'arrière-plan. Pour faire ce travail correctement, vous devez utiliser le !important à la fin de l'attribut ou faire vos classes CSS plus spécifiques comme div.warnings_receiver_highlight ou .userGridViewItem.warnings_receiver_highlight

.warnings_receiver_highlight{ 
    background: #000; 
    color: #000; 
} 
.userGridViewItem{ 
    background: brown; 
    color: #fff; 
    width: 200px; 
    height: 100px; 
} 
0

Je crois que votre code fonctionne correctement, vous semble juste être avoir un problème avec la spécificité CSS (http: //coding.smashingmagazine. com/2007/07/27/css-specificity-choses-vous-devez-savoir /). Une solution serait d'ajouter !important aux attributs sous .warnings_receiver_highlight

1

Si je comprends ce que vous voulez, tout ce que vous devriez avoir à faire est de placer les styles dans votre css pour warnings_receiver_highlight après vos styles pour userGridViewItem.

0

Placez le remplacement souhaité en dernier. En outre, vous pouvez appliquer! Important pour le style mais pour s'assurer que si un autre est donné! Important, la séquence pèsera encore plus haut. Votre page de violon a également eu un } supplémentaire à la fin.

.userGridViewItem{ 
    background: brown; 
    color: #fff; 
    width: 200px; 
    height: 100px; 
} 
.warningYellow{ 
    border: 3px solid yellow; 
} 
.warnings_receiver_highlight{ 
    background: #000 !important; 
    color: #000 !important; 
} 
Questions connexes