Existe-t-il un sélecteur CSS pour sélectionner cet élément par sa valeur d'attribut de style en ligne?
<div style='display:block'>...</div>
quelque chose comme
div[cssAttribute=cssValue]
Existe-t-il un sélecteur CSS pour sélectionner cet élément par sa valeur d'attribut de style en ligne?
<div style='display:block'>...</div>
quelque chose comme
div[cssAttribute=cssValue]
Réponses:
L' style
attribut en ligne n'est pas différent de tout autre attribut HTML et peut être mis en correspondance avec un sélecteur d'attribut de sous-chaîne:
div[style*="display:block"]
C'est pour cette raison même qu'elle est extrêmement fragile . Les sélecteurs d'attributs ne prenant pas en charge les expressions régulières, vous ne pouvez effectuer que des correspondances exactes de sous-chaînes de la valeur d'attribut. Par exemple, si vous avez un espace quelque part dans la valeur d'attribut, comme ceci:
<div style='display: block'>...</div>
Il ne correspondra pas tant que vous n'aurez pas modifié votre sélecteur pour accueillir l'espace. Et puis il cessera de correspondre aux valeurs qui ne contiennent pas d'espace, à moins que vous n'incluiez 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 du tout, tout devrait bien se passer.
Notez également qu'il ne s'agit pas du tout de sélectionner des éléments en fonction de leurs valeurs réelles spécifiées, calculées ou utilisées comme reflétées dans le DOM. Ce n'est pas possible avec les sélecteurs CSS.
Comprenant ";" fonctionne mieux pour moi.
div[style*="display:block;"]
style
doit correspondre exactement à la propriété HTML
;
.