Ram*_*lat 5 jquery jquery-selectors
有很多问题要求选择具有 2 个类别的元素。但我想问,如果我想要获取仅具有 2 个提供的类的元素并排除具有任何其他附加类的任何其他元素怎么办?换句话说,不需要具有附加类的元素。
<div class="a">
  <div class="a b">
    ...
  </div>
  <div class="a b c">
    ...
  </div>
</div>
就我而言,我只想获取第二个 div 元素,而不是带有a b c类的元素。
第二次编辑:仅使用 css,此选择器将选择第一个或第二个位置的两种情况类“a”:
$('div[class="a b"],div[class="b a"]')
编辑:您需要过滤选择并排除具有第三类的元素:
$('.a.b')
    .filter(function() {
        return this.classList[2] == null;
    });
$('div[class="a b"],div[class="b a"]')
$('.a.b')
    .filter(function() {
        return this.classList[2] == null;
    });
$('.a.b')
    .filter(function() {
    return this.classList[2] == null;
    })
    .addClass('red');原来的:
关于什么:
$('.a.b:not(.c)')
这与以下相同
$('.a.b').not('.c')
但更简单。