134

インラインスタイルの属性値でこの要素を選択するCSSセレクターはありますか?

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

何かのようなもの

div[cssAttribute=cssValue]
4

3 に答える 3

246

インラインstyle属性は他のHTML属性と同じであり、サブストリング属性セレクターと一致させることができます。

div[style*="display:block"]

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

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

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

また、これは、DOMに反映されている実際の指定、計算、または使用された値によって要素を選択するわけではないことにも注意してください。これはCSSセレクターでは不可能です。

于 2011-12-08T06:07:06.760 に答える
8

含む ";" 私にとってはうまくいきます。

div[style*="display:block;"] 
于 2019-01-12T07:18:29.633 に答える
0

属性がHTMLでどのように記述されているかを常に確認してください(ブラウザーの[要素]タブで確認できます)。まったく同じ値を使用する必要があります。私の場合:style="left: 100%;"。そして、そうではないstyle="left:100%"か、そのようなもの。

于 2021-03-04T09:19:53.310 に答える