Selector de CSS por atributo de estilo en línea
¿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]
El style
atributo en línea no es diferente de cualquier otro atributo HTML y puede combinarse con un selector de atributos de subcadena:
div[style*="display:block"]
Precisamente por esta razón 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, como este:
<div style='display: block'>...</div>
No coincidirá hasta que cambie su selector para acomodar el espacio. Y luego dejará de hacer coincidir valores que no contengan el espacio, a menos que incluya todas las permutaciones, hasta la saciedad. 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 es en absoluto seleccionar elementos por sus valores reales especificados, calculados o utilizados como se refleja en el DOM. Eso no es posible con los selectores CSS.
Incluido ";" funciona mejor para mí.
div[style*="display:block;"]
Fíjate siempre cómo está escrito el atributo en HTML (puedes comprobarlo en la pestaña Elementos del navegador). Tienes que usar exactamente el mismo valor. En mi caso: style="left: 100%;"
. Y ni style="left:100%"
nada por el estilo.