web-dev-qa-db-fra.com

Spécifier plusieurs sélecteurs d'attributs en CSS

Quelle est la syntaxe pour faire quelque chose comme:

input[name="Sex" AND value="M"]

En gros, je veux sélectionner l’élément input qui a l’attribut name="Sex" ainsi que l’attribut value="M":

<input type="radio" name="Sex" value="M" />

Des éléments tels que les suivants devraient non être sélectionnés:

<input type="radio" name="Sex" value="F" />
251
John

Simple input[name=Sex][value=M] ferait bien Nice. Et c'est en fait bien décrit dans le doc standard :

Les sélecteurs d'attributs multiples peuvent être utilisés pour faire référence à plusieurs attributs d'un élément ou même plusieurs fois au même attribut.

Ici, le sélecteur correspond à tous les éléments SPAN dont l'attribut "hello" a exactement la valeur "Cleveland" et dont l'attribut "au revoir" a exactement la valeur "Columbus":

span[hello="Cleveland"][goodbye="Columbus"] { color: blue; }

En guise de remarque, l'utilisation de guillemets autour d'une valeur d'attribut n'est requise que si cette valeur n'est pas un identificateur valide.

Démo JSFiddle

363
raina77ow

Pour concaténer c'est:

input[name="Sex"][value="M"] {}

Et pour prendre l'union c'est:

input[name="Sex"], input[value="M"] {}
52
Yogesh Khater

Concaténer les sélecteurs d'attributs:

input[name="Sex"][value="M"]
28
Dennis

Juste pour ajouter qu'il ne devrait y avoir aucun espace entre le sélecteur et le support d'ouverture.

td[someclass] 

marchera. Mais

td [someclass] 

ne fera pas.

5