2017-11-01 18 views
3

2つの異なるクラスを持つ要素を選択しようとしています。残念ながら、これらのクラス名は部分的にランダム化されています。クラス名の2番目の部分は同様に、ランダムである部分テキストで2つの異なるクラスを使用して要素を選択

<div class="thing1_abc thing2_def"></div> 

は、abcdef部は、各ページの負荷と一致しないであろう。

私がいたと考えることができる唯一の事:

div[class^="thing1_"][class^="thing2_"]{ } 

しかし、あなたが単一のセレクタで複数のクラスの属性セレクタを使用することができないようで、これを実現する方法はありますか?または、その要素に基づいてこの要素を選択する代替手段ですか?

答えて

5

^=は、クラスアトリビュート文字列全体の先頭に関係します。そのため、thing2_は一致しません。

div[class*="thing1_"][class*="thing2_"]{ } 

しかし、それはまた、some_class_thing1_にマッチします:あなたはこのように、代わりに*=を使用することができます。そのようなクラスが決して存在しないと確信できるならば、それはあなたの必要性をまだろ過しているかもしれません。しかしそうでなければ、私は純粋なCSSソリューションを見ません。

+0

ああ、それは私が欠けていたものです。 '^ ='は文字列全体ではなく、クラスの開始点だったということを私の頭の中に入れました。ありがとう! (私は一度それがロックを解除する)を受け入れるよ – DBS

+0

助けて嬉しい! :) – Connum

+1

'some_class_thing1_'とのマッチングを避けたいのであれば、div [class * =" thing1 _ "] [class * =" thing2 _ "] = "thing2 _"]、div [class * = "thing1 _"] [class^= "thing2 _"] {} ' – Alohci

関連する問題