找到并选择正确的班级

时间:2013-08-07 05:56:10

标签: javascript jquery css css-selectors

我需要选择.foo,但是,有两个带.foo的标签,我需要选择仅使用.foo的标签,而不是选择.foo.bar的标签,我该如何实现?< / p>

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

我用来查找.foo的代码

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

6 个答案:

答案 0 :(得分:1)

一些变化

  1. 使用.closest()代替.parents()获取最近的祖先
  2. 使用:not()选择器过滤掉.bar元素
  3. 尝试

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

答案 1 :(得分:1)

使用jQuery .not(); http://api.jquery.com/not/

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

答案 2 :(得分:0)

尝试

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

答案 3 :(得分:0)

你可以选择一个类属性:

.find('[class=foo]')

答案 4 :(得分:0)

您想要:not(selector)

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

请参阅http://api.jquery.com/not-selector/

答案 5 :(得分:0)

您需要使用.not()方法:

$(本)。家长( '后 ')发现(' 富。 ')不是(' 巴。 ')文本(' 文本');。。。

您可以在这里阅读更多内容: http://api.jquery.com/not-selector/