CSS selector by inline style attribute Ask Question

CSS selector by inline style attribute Ask Question

Is there a CSS selector to select this element by its inline style attribute value?

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

something like

div[cssAttribute=cssValue]

ベストアンサー1

インラインstyle属性は他の HTML 属性と違いはなく、サブ文字列属性セレクターと一致させることができます。

div[style*="display:block"]

しかし、まさにこの理由から、非常に壊れやすい属性セレクタは正規表現をサポートしていないため、ちょうど属性値の部分文字列の一致。たとえば、次のように属性値のどこかにスペースがある場合:

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

スペースに合わせてセレクターを変更するまで一致しません。そして、その後は、次の値の一致は停止します。しないすべての順列をうんざりするほど含めない限り、スペースは含まれません。ただし、インライン スタイル宣言自体がまったく変更される可能性が低いドキュメントで作業している場合は、問題はありません。

また、これはないDOM に反映される実際の指定値、計算値、または使用値によって要素を選択することはありません。それCSS セレクタでは不可能です。

おすすめ記事