4

文字列「-text」を含むクラスを持たない要素を選択する jQuery セレクターが必要です。

たとえば、次のようになります。

<img class="cow" > 
<img class="monkey" > 
<img class="cow-text" > 
<img class="monkey-text" > 

選択したい:

<img class="cow" > 
<img class="monkey" >

を使用する必要があることはわかっていますnotが、形式がわかりません。次の場合、アイテムは選択されません。

$('.panel').find('.layer').not('[class*="-text"]');

4

3 に答える 3

2

クラスが常に " -text "で終わる場合は、 EndsWithセレクターを使用する必要があります。

panel.find('img').not('[class$="-text"]');

または

panel.find('img:not([class$="-text"])')

これはより正確な解決策です。ワイルドカードセレクターは、のようなクラスsome-text-classまたは-text-class誤って選択される可能性があることを意味します。

于 2013-08-05T13:14:26.957 に答える
1

試す

panel.find('img').not('[class*="-text"]');
于 2013-08-05T13:12:26.387 に答える
0

で終わるすべての img 要素を見つけて、すべて削除してみてください-text。そして、それぞれを複数の要素に使用します。例: class="monkey-text"

$("img").not("[class$='-text']").each(function(){
  alert($(this).attr("class"));
});

2 番目のプレビューでは、文字列の先頭に文字列が表示text-されます。 たとえば、 class="text-monkey"$に置き換えるだけです^

$("img").not("[class^='text-']").each(function(){
  alert($(this).attr("class"));
});
于 2013-08-05T13:33:13.457 に答える