只有在存在两个单独的子div时,如何向父类添加一个类?
如果孩子中存在两个类
,则此处的代码有效$('.class1.class2').parents().addClass('newclass');
<div class="parentdiv">
<div class="class1 class2">
</div>
我只是在class1和class2是子项
时才尝试将类添加到parentdiv<div class="parentdiv">
<div class="class1">
</div>
<div class="someother">
</div>
<div class="class2">
</div>
答案 0 :(得分:1)
您可以使用:has()
与选择器.class1 ~ .class2, .class2 ~ .class 1
一起选择.parentdiv
元素,其中.class1
或.class2
是子元素是{{1}的一般兄弟分别是{或.class2
。如果要求仅在.class1
后跟.parentdiv
时选择.class1
,您可以使用选择器.class2
.class1 ~ .class2
$(".parentdiv:has(.class1 ~ .class2, .class2 ~ .class 1)")
.addClass("selected");
.selected {
color:olive;
}
答案 1 :(得分:0)
使用
中提供的条件的元素.filter
仅选择满足callback
var filtered = $('.parentdiv').filter(function() {
return $(this).find('.class1').length > 0 && $(this).find('.class2').length > 0;
});
filtered.addClass('newclass')
.newclass {
border: 2px black dotted;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="parentdiv">
<div class="class1">
Hello class1
</div>
<div class="someother">
</div>
<div class="class2">
Hello class2
</div>
</div>