div:not([foo=''])sélectionnera à la fois le premier et le second divéléments. Si vous ne voulez divque des éléments dont l'attribut foo est défini sur une chaîne vide, vous devez utiliser:
div[foo]:not([foo=''])
Si vous voulez tous les éléments avec un attribut fooqui n'est ni yni z, vous devez utiliser:
Supposons qu'il y ait 100 divs dont la valeur foo est absente (foo = '') pour 50 divs et que les autres 50 divs ont une valeur foo différente, disons foo = x ou y, etc., vous devez écrire 50 sélecteurs si nous suivons la solution ci-dessus
Shoaib Chikate
2
Ce n'est pas ce que l'op veut: "Je veux cibler uniquement le premier des divs suivants avec un sélecteur d'attribut css"
Sunil Hari
Votre réponse est juste avec son exigence, mais pas une solution générale que d'autres personnes ont donnée.
Shoaib Chikate
@ShoaibChikate Vous avez raison. Je veux la solution la plus générique. J'ai mis à jour la question pour refléter cela.
Réponses:
Utilisez le code comme ceci:
la source
http://jsfiddle.net/gsLvuys0/
la source
Un problème avec la réponse acceptée est qu'elle sélectionnera également des éléments qui n'ont pas du tout d'
foo
attribut. Considérer:div:not([foo=''])
sélectionnera à la fois le premier et le seconddiv
éléments. Si vous ne voulezdiv
que des éléments dont l'attribut foo est défini sur une chaîne vide, vous devez utiliser:Si vous voulez tous les éléments avec un attribut
foo
qui n'est niy
niz
, vous devez utiliser:la source
Vous pouvez sélectionner le premier en utilisant
VIOLON
Lis ça
la source