jquery si (css_attribute = valeur)
Est-il possible de faire une déclaration en javascript/jquery afin de déterminer:
Si la valeur d'un certain élément de l'attribut css est égale à une valeur donnée?
tels que:
if( $('.box').css(background-color = blue) ){
//do this...
}
source d'informationauteur d-_-b
Vous devez vous connecter pour publier un commentaire.
La
css
méthode JQuery, lors d'un seul paramètre, retourne la valeur de la donnée paramenter. Vous pouvez essayer ceci:L'exemple ci-dessus ne fonctionne que pour le premier élément dans le sélecteur JQuery, par conséquent, vous devez utiliser le
.each
méthode JQuery pour itérer sur l'ensemble du sélecteur si vous avez plus d'un élément en elle.Veuillez noter que le
.css
JQuery méthode retourne un mélange RVB dans la plupart des navigateurs (sauf IE), afin de le tester contre une chaîne telle queblue
ne suffira pas pour les non-IE navigateurs. Vous pouvez tester que dans le JQuery API site et mon violon.Et voici le bon
.each
itération:JSFiddle
Edit: plus d'un an et demi plus tard, je me sens comme cette réponse mérite une mise à jour.
Pour la plupart des cas d'utilisation, je vous recommande d'utiliser une classe CSS:
Cela permet l'utilisation de la
addClass()
removeClass()
toggleClass()
méthodes de manipulation, ainsi quehasClass()
pour vérifier:Cela fonctionne parfaitement dans tous les navigateurs sans avoir besoin de bidouilles, et en tant que plus vous bénéficiez d'une meilleure séparation des préoccupations: c'est, si votre style ne change jamais, dire
.blue { color: lightblue; }
le JS va continuer à travailler sans modifications.Remarque: bien entendu, cette approche n'est pas adapté pour un couple de rares cas d'utilisation où la valeur de la couleur est généré dynamiquement (par exemple à l'aide de
Math.random()
ou choisir une couleur de valeur off une toile de pixels), dans ces rares cas d'utilisation, vous pouvez toujours utiliser la première solution dans cette réponse.Vous devriez être en mesure de faire quelque chose comme ceci:
vérifier les espaces dans
"ESPACE APRÈS LE COMA"
Aucune de ce qui précède semble fonctionner ici à 2015. Le test d'un lien de couleur contre le :visité la couleur semble être vrai dans tous les cas en Chrome pour moi. Aussi, si vous n'êtes pas le "sniffing" et veulent vraiment savoir si un lien a été cliqué lors de leur visite à VOTRE site web, j'ai trouvé qu'un simple:
et de vérification pour la classe fonctionne très bien.