有很多问题要求选择2个类的元素。 但我想问一下,如果我想要只有2个提供类的get元素和排除任何其他具有任何其他类的元素,该怎么办?换句话说,没有需要额外类的元素。
<div class="a">
<div class="a b">
...
</div>
<div class="a b c">
...
</div>
</div>
在我的情况下,我想获得第二个div元素,而不是a b c
类的元素。
答案 0 :(得分:2)
第二次修改:只使用css这个选择器会在第一个位置或第二个位置选择两个案例类'a':
$('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');
div{
height:100px;
width:100px;
background:black;
float:left;
}
.red{
background:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="a"></div>
<div class="a b"></div>
<div class="a b c"></div>
<强>原始强>:
怎么样:
$('.a.b:not(.c)')
与
相同$('.a.b').not('.c')
但更简单。
答案 1 :(得分:2)
您可以使用jquery
.not
选择器。
:已更新:这将仅选择包含类a
和b
的元素。
$("[class='a b'], [class='b a']").css("background", "blue");
.a.b{
width: 100%;
height: 100px;
}
.c{
background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div class="a">
<div class="a b">
...
</div>
<div class="a b c">
...
</div>
</div>