div:not([foo=''])seleccionará tanto el primer como el segundo divelemento. Si solo desea divelementos que tengan un atributo foo establecido en una cadena vacía, debe usar:
div[foo]:not([foo=''])
Si desea todos los elementos con atributo fooque no es yni z, debe usar:
Supongamos que hay 100 divs de los cuales el valor foo está ausente (foo = '') para 50 divs y otros 50 divs tienen un valor foo diferente, digamos foo = xoy, etc., entonces debe escribir 50 selectores si seguimos la solución anterior
Shoaib Chikate
2
Eso no es lo que quiere la operación: "Quiero apuntar solo al primero de los siguientes divs con un selector de atributos CSS"
Sunil Hari
Su respuesta es correcta con su requisito, pero no es una solución general que otras personas han dado.
Shoaib Chikate
@ShoaibChikate Tienes razón. Quiero la solución más genérica. Actualicé la pregunta para reflejar eso.
Respuestas:
Use el código como este:
fuente
http://jsfiddle.net/gsLvuys0/
fuente
Un problema con la respuesta aceptada es que también seleccionará elementos que no tienen ningún
foo
atributo. Considerar:div:not([foo=''])
seleccionará tanto el primer como el segundodiv
elemento. Si solo deseadiv
elementos que tengan un atributo foo establecido en una cadena vacía, debe usar:Si desea todos los elementos con atributo
foo
que no esy
niz
, debe usar:fuente
Puede seleccionar el primero usando
VIOLÍN
Lee esto
fuente