À l'aide d'une variable comme jQuery sélecteur de classe
Je sais que cette question a été répondu plusieurs fois ici sur stackoverflow, mais je ne peux pas le faire fonctionner sur mon problème.
Ce que je veux faire, c'est, quand un <label>
est cliqué, vérifier les étiquettes de la classe et de modifier tous les éléments correspondants à backgroundColor : #000000
Voici mon code:
$(function() {
$('label').click(function(){
var group = this.className ;
$('label .'+group).css({
'backgroundColor' : '#000000'
}) ;
}) ;
});
Malheureusement, cela n'a tout simplement rien. Elle même ne renvoie pas d'erreur. Où est ma faute?
Solution
J'ai dû enlever les espaces dans le sélecteur:
$('label.'+group)
Qu'est-ce que votre erreur? Aussi, merci de poster le code html.
Quelle est la valeur de
Peut-être que vous devriez supprimer les espaces dans
Il est possible que le
L'espace signifie "descendant" de la. api.jquery.com/descendant-selector
Quelle est la valeur de
group
?Peut-être que vous devriez supprimer les espaces dans
$('label .'+group)
Il est possible que le
label
contient plus d'un nom de classe, ce qui pourrait causer des problèmes pour votre sélection. Nous avons besoin de plus d'informations.L'espace signifie "descendant" de la. api.jquery.com/descendant-selector
$('label.a_2')
signifie "étiquettes avec la classe a_2
", $('label .a_2')
signifie "n'importe quel élément avec la classe a_2
c'est un descendant d'une label
".OriginalL'auteur Sprottenwels | 2013-02-21
Vous devez vous connecter pour publier un commentaire.
Peut-être vous devriez supprimer les espaces dans
$('label .'+group)
.$('label .'+group)
signifie que tous les éléments avec le groupe classe dans tous les<label>
, tandis que$('label.'+group)
signifie le tout<label>
avec le groupe classe.OriginalL'auteur