我有一个这样的代码:
<div class='parent one'>
<div class='yes'></div>
<div class='yes'></div>
<div class='yes'></div>
</div>
<div class='parent two'>
<div></div>
<div></div>
<div></div>
</div>
<div class='parent three'>
<div></div>
<div></div>
<div class='yes'></div>
</div>
我如何删除.parent.two
,因为它没有任何与.yes
的孩子?到目前为止,我已经尝试过了,它没有工作:
$('.parent div:not(.yes)').remove();
5条答案
按热度按时间0yg35tkg1#
您可以将
:not
与:has
一起使用:ss2ws0br2#
您可以创建一个选择器作为
:not
和:has
的组合,然后使用remove
方法。因此,这将选择所有具有.parent
类的元素,这些元素没有具有.yes
类的子元素。uqxowvwt3#
这是你可以用vanilla js做的
pbwdgjma4#
你可以通过很多方式来实现这一点。基本方法是:
直接选择:
$('.parent.two').remove();
根据其索引进行选择:
$('.parent:eq(1)').remove();
基于
.yes
元素作为子元素的存在:$('.parent div').not('.parent .yes').parent().remove();
4szc88ey5#
检查每个父
div
的.innerHTML
,查看是否存在具有该文本的子,如果不存在,则删除父。