私があなたの質問を正しく理解している場合、ID が数字で始まり、subtab-
その後-sub
に別の数字が続くすべての要素を選択しようとしています。また、このセレクターを に一致させず#subtab-1
、 のような接尾辞を持つものだけにしたいよう#subtab-1-sub1
です。
これはCSSではできません。CSS は、ワイルドカードを許可するセレクターを提供しません。ただし、かなり近いものをハックすることはできます。
うまくいくかもしれないハッキーセレクター
[id^="subtab-"][id*="-sub"]
で始まり、id のどこかにsubtab-
含まれる任意の id と一致します。これはおそらく機能しますが、やなどで-sub
誤検知を引き起こす可能性があります。#subtab-1-subtle
#subtab-something-sub2
#subtab-sub
機能する可能性のある別のハッキーセレクター
#subtab-?-sub?
要素は常に要素の内部に含まれ、#subtab-?
要素#subtab-?
に別の要素を含めることはできないと仮定すると、子コンビネータ#subtab-?
を使用してそれらをターゲットにすることができます。[id^="subtab-"] > [id^="subtab-"]
代わりにクラスに依存する
より良い解決策は、たとえば、共通のクラスをターゲットにしようとしているすべての要素を指定することです<div class="subtab-sub">
。その後、それらすべてを選択するのは簡単.subtab-sub
です。クラスを使用すると、属性セレクターを使用するよりもはるかに高速なパフォーマンスが得られます。