Esiste un selettore CSS per selezionare questo elemento in base al valore dell'attributo di stile inline?
<div style='display:block'>...</div>
qualcosa di simile a
div[cssAttribute=cssValue]
Esiste un selettore CSS per selezionare questo elemento in base al valore dell'attributo di stile inline?
<div style='display:block'>...</div>
qualcosa di simile a
div[cssAttribute=cssValue]
Risposte:
L' style
attributo inline non è diverso da qualsiasi altro attributo HTML e può essere abbinato a un selettore di attributi di sottostringa:
div[style*="display:block"]
È proprio per questo, tuttavia, che è estremamente fragile . Poiché i selettori di attributi non supportano le espressioni regolari, è possibile eseguire solo corrispondenze di sottostringa esatte del valore dell'attributo. Ad esempio, se hai uno spazio da qualche parte nel valore dell'attributo, come questo:
<div style='display: block'>...</div>
Non corrisponderà finché non modifichi il selettore per adattare lo spazio. E poi smetterà di abbinare i valori che non contengono lo spazio, a meno che tu non includa tutte le permutazioni, fino alla nausea. Ma se stai lavorando con un documento in cui è improbabile che le dichiarazioni di stile inline cambino affatto, dovresti stare bene.
Si noti inoltre che questo non significa affatto selezionare gli elementi in base ai valori effettivi specificati, calcolati o utilizzati come riflessi nel DOM. Ciò non è possibile con i selettori CSS.
Compreso ";" funziona meglio per me.
div[style*="display:block;"]
style
deve corrispondere esattamente alla proprietà HTML
;
.