私のクラス名は動的に生成され、preg_matchの種類を使用してスタイリングを適用しようとしています。このようなことは可能でしょうか?*マッチを使用して複数のクラスにルールを適用する
<style>
.*_class {
border: 1px solid red;
}
</style>
<div id="a_class">a</div>
<div id="b_class">b</div>
<div id="c_class">c</div>
私のクラス名は動的に生成され、preg_matchの種類を使用してスタイリングを適用しようとしています。このようなことは可能でしょうか?*マッチを使用して複数のクラスにルールを適用する
<style>
.*_class {
border: 1px solid red;
}
</style>
<div id="a_class">a</div>
<div id="b_class">b</div>
<div id="c_class">c</div>
属性セレクタを使用する必要があります。
[id$="_class"] {
}
上記_class
で終わるid
を使って何を選択すべき、と言います。詳細については、attribute selectors at MDNを参照してください。
おそらく、クラスの生成方法を再考してください。 Praveen's answerは機能し、直接質問に答えますが、属性セレクタは効率が悪いことがあります。要素ごとに複数のクラスを持つことができるという事実を利用することを検討したいかもしれません。例えば。
.class {color:#F00;}
.a.class {font-weight:bold; font-size:2em;}
<div class="a class">a</div>
<div class="b class">b</div>
<div class="c class">c</div>
残念ながら私はクラス名を管理していません。私はCSSを変更することしかできません。 –
セレクタの非効率性は、複雑さやページの負荷の点でAmazonやFacebookの規模でウェブサイトを構築しているのでは心配です。おそらく、ウェブトラフィックによるサイトの上位5%は、このような懸念から本当に利益を得るでしょう。 – TylerH
ただ、属性セレクタがはるかに少ない効率的なネイティブクラスセレクタよりもあることに注意してください。 –
セレクタは、提示されたマークアップに従って、実際には 'class'ではなく' id'属性をターゲットにする必要があります。 '[id $ =" _ class "]' – Ricky
@Rickyまあ、それは 'id $ =' LoLであるべきです。 –