次の場合:
<div class="apple-monkey"></div>
<div class="apple-horse"></div>
<div class="cow-apple-brick"></div>
次のセレクターを使用して、最初の2つのDIVを見つけることができます。
$("div[class^='apple-']")
ただし、これがある場合:
<div class="some-other-class apple-monkey"></div>
<div class="apple-horse"></div>
<div class="cow-apple-brick"></div>
最初のdivのクラスは文字列として返されるため(私は思う)、実際には「apple-」ではなく「some-」で始まるため、2番目のDIVのみが検索されます。
これを回避する1つの方法は、starts withを使用せず、代わりに次を含むことです。
$("div[class*='apple-']")
その問題は、私の例では3番目のDIVも選択することです。
質問:jQueryを使用して、クラス属性全体を文字列としてではなく、個々のクラス名で述語セレクタを使用する適切な方法は何ですか?それは単にCLASSを取得し、それを配列に分割してから、正規表現で個々のクラスをループするだけの問題ですか?または、よりエレガントで冗長性の低いソリューションはありますか?