¿Existe un selector de CSS para seleccionar este elemento por su valor de atributo de estilo en línea?
<div style='display:block'>...</div>
algo como
div[cssAttribute=cssValue]
¿Existe un selector de CSS para seleccionar este elemento por su valor de atributo de estilo en línea?
<div style='display:block'>...</div>
algo como
div[cssAttribute=cssValue]
Respuestas:
El style
atributo en línea no es diferente de cualquier otro atributo HTML y se puede combinar con un selector de atributo de subcadena:
div[style*="display:block"]
Sin embargo, es por esta misma razón que es extremadamente frágil . Como los selectores de atributos no admiten expresiones regulares, solo puede realizar coincidencias exactas de subcadenas del valor del atributo. Por ejemplo, si tiene un espacio en algún lugar del valor del atributo, así:
<div style='display: block'>...</div>
No coincidirá hasta que cambie su selector para acomodar el espacio. Y luego dejará de hacer coincidir los valores que no contienen el espacio, a menos que incluya todas las permutaciones, ad nauseum. Pero si está trabajando con un documento en el que es poco probable que las declaraciones de estilo en línea cambien en absoluto, debería estar bien.
Tenga en cuenta también que esto no significa en absoluto seleccionar elementos por sus valores reales especificados, calculados o usados como se refleja en el DOM. Eso no es posible con los selectores de CSS.
Incluyendo ";" funciona mejor para mí.
div[style*="display:block;"]
style
debe coincidir exactamente con la propiedad HTML
;
.