web-dev-qa-db-fra.com

Sélecteur CSS par attribut de style inline

Existe-t-il un sélecteur CSS pour sélectionner cet élément en fonction de sa valeur d'attribut de style intégré?

<div style='display:block'>...</div>

quelque chose comme

div[cssAttribute=cssValue]
90
AgelessEssence

L'attribut inline style n'est pas différent de tout autre attribut HTML et peut être associé à un sélecteur d'attribut de sous-chaîne:

div[style*="display:block"]

C’est pour cette raison même que c’est extrêmement fragile. Comme les sélecteurs d'attributs ne prennent pas en charge les expressions régulières, vous pouvez uniquement effectuer des correspondances exactes de la valeur de l'attribut. Par exemple, si vous avez un espace quelque part dans la valeur de l'attribut, comme ceci:

<div style='display: block'>...</div>

Cela ne correspondra pas jusqu'à ce que vous changiez votre sélecteur pour accueillir l'espace. Et puis, les valeurs correspondantes que ne contient pas ne contiennent plus d'espace, sauf si vous incluez toutes les permutations, ad nauseum. Mais si vous travaillez avec un document dans lequel les déclarations de style en ligne elles-mêmes sont peu susceptibles de changer, cela devrait aller.

Notez également que ceci est pas du tout sélection d'éléments par leurs valeurs réelles spécifiées, calculées ou utilisées, telles que reflétées dans le DOM. Ce n'est pas possible avec les sélecteurs CSS.

156
BoltClock

Comprenant ";" fonctionne mieux pour moi.

div[style*="display:block;"] 
1
Bertrand