2012-09-09 81 views
175

¿Cuál es la sintaxis para hacer algo como:Especificar varios selectores de atributos de CSS

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

Básicamente, quiero seleccionar el elemento input que tiene el atributo name="Sex", así como el atributo value="M":

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

elementos tales como los siguientes deben no ser seleccionados:

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

Respuesta

261

Simple input[name=Sex][value=M] sería bastante agradable. Y en realidad es bien descrito en el standard doc:

selectores de atributos múltiples pueden ser usados ​​para referirse a varios atributos de un elemento, o incluso varias veces para el mismo atributo.

Aquí, el selector equivale a todos los elementos SPAN cuyo "hola" atributo tiene exactamente el valor "Cleveland" y cuyo atributo "adiós" tiene exactamente el valor "Columbus":

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

Como nota al margen, se usan comillas alrededor de un valor de atributo solo si este valor no es un identificador válido.

JSFiddle Demo

+2

¿hay algo como esto, pero O en lugar de Y? –

+1

¿Quieres decir que no sea ',' (coma)? – raina77ow

+1

no puede escribir span [hello = "Cleveland"], [adiós = "Columbus"] pero debe repetir una parte (posiblemente larga). –

26

concatenar los selectores de atributos:

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

para concatenar Es:

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

Y para la toma de unión que es:

input[name="Sex"], input[value="M"] {} 
-2
[class*="test"],[class="second"] { 
background: #ffff00; 
} 
3

Solo para agregar que no debe haber espacio entre el selector y el soporte de apertura.

td[someclass] 

funcionará. Pero

td [someclass] 

no lo hará.

Cuestiones relacionadas