3

自分で解けると思っていたのに、なぜか解けませんでした。jQueryクラスのシングルページcontainsがプラスかマイナスかを確認するために使用しています。icon1プラスがあればにしたい。があれば赤くminusしたい。

<div class="blocking single-page">
 <div class="thumbs-for-you">
  <span class="icon1"></span> 
  <span class="icon2"></span>
 </div>
 <span class="rate">-100</span>
</div>

私が試したのは次のとおりです(これは私が試した数十のことの1つにすぎません):

$('.single-page:contains("-")').removeClass('.icon2'); 
$('.single-page:contains("-")').removeClass('icon2'); 

私はそれを働かせませんでした。と も使用してみchildrenましsiblingsたが、効果はありませんでした。removeClassと を併用する方法はないと思いますcontains。私は間違っていますか?

誰かがこの問題を解決するのを手伝ってくれませんか?

PS: 簡単な説明 --> クラス icon1 と 2 を削除すると、画像は自動的に削除されます。

4

4 に答える 4

1

試す

間違った構文を適用しています。

次のことを試してください

.removeClass('icon2');代わりは

.removeClass('.icon2');

API removeClass の読み取り

于 2013-06-26T13:46:49.090 に答える
0

クラスはスパン上にあるため、そのクラスを含むスパンにトラバースする必要があります-.内部の removeClassも削除します

$('.single-page:contains("-") .icon2').removeClass('icon2'); 

また

$('.single-page:contains("-")').find('.icon2').removeClass('icon2'); 
于 2013-06-26T13:57:11.760 に答える
0

$('.single-page :contains("-")') セレクターは、「-」を含む div に移動します。この場合は、単一ページの div ではなくレート div です。ここで、1 つのレベルをバックアップしてから、スパンを見つける必要があります。

セレクターが返すものに常に注意してください。将来役立つ可能性があります。

$('.single-page :contains("-")').parent().find('span').removeClass('icon2');
于 2013-06-26T14:10:32.080 に答える
0

実際には要素にフィルターを適用していますが、選択したい要素はその子です。これを試して。

$('.single-page').find(':contains("-")').removeClass('icon2');

ここにフィドルの例があります: http://jsfiddle.net/7Vzs5/

PS。あなたが提供しているサンプルコードでは、クラスを持ちicon2、「-」を含む要素が1つもありません

于 2013-06-26T13:47:54.613 に答える