0

.foo を選択する必要がありますが、.foo を含むタグが 2 つあり、.foo.bar を含むタグではなく、.foo のみを含むタグを選択する必要があります。どうすればこれを達成できますか?

<a class="foo bar">text</a>
<a class="foo">text</a> 

.foo を見つけるために使用しているコードは

$(this).parents('.post').find('.foo').text('text');
4

6 に答える 6

1

jQuery .not(); を使用します。http://api.jquery.com/not/

$(this).parents('.post').find('.foo').not('.bar').text('text');
于 2013-08-07T06:00:37.470 に答える
1

いくつかの変更

  1. .parents()の代わりに.closest()を使用して、最も近い祖先を取得します
  2. :not()セレクターを使用して.bar要素を除外します

試す

$(this).closest('.post').find('.foo:not(.bar)').text('text');
于 2013-08-07T05:59:00.487 に答える
0

試す

$(this).parents('.post').find('.foo').not('.bar').text('text');
于 2013-08-07T05:58:52.620 に答える
0

クラス属性で選択するだけです:

.find('[class=foo]')
于 2013-08-07T05:59:38.060 に答える
0

あなたがしたい:not(selector)

$(this).parents('.post').find('.foo:not(.bar)').text('text');

http://api.jquery.com/not-selector/を参照してください

于 2013-08-07T06:06:45.373 に答える
0

.not() メソッドを使用する必要があります。

$(this).parents('.post').find('.foo').not('.bar').text('text');

ここで詳細を読むことができます: http://api.jquery.com/not-selector/

于 2013-08-07T06:25:00.900 に答える