Мне нужно удалить div из DOM, если у него есть дочерний div с определенным именем класса, без удаления дочернего div.
Я пытался использовать .remove () в операторе if / then,но когда я это делаю, он все равно удаляет все экземпляры целевого родительского div, даже те, у которых нет дочернего элемента.
Классы parent и child-type-B генерируются автоматически.
<div class="overall">
<div class="parent">
<div class="child-type-A">
// stuff that can't be deleted
</div>
</div>
<div class="parent">
<div class="child-type-B">
// more stuff
</div>
</div>
<div class="parent">
<div class="child-type-B">
// even more stuff
</div>
</div>
</div>
Я хочу удалить весь родительский div, если у ребенка есть класс child-type-A, поэтому он выглядит так:
<div class="overall">
<div class="child-type-A">
// stuff that can't be deleted
</div>
<div class="parent">
<div class="child-type-B">
// more stuff that can't be deleted
</div>
</div>
<div class="parent">
<div class="child-type-B">
// even more stuff that can't be deleted
</div>
</div>
</div>
Это jQuery, который я думал, будет работать, но это не так (онудаляет всех родителей и детей, если присутствует дочерний тип-A).
if( '.parent > .child-type-A' ) {
$( 'parent' ).remove();
}
Я ожидаю, что div, на который нацелено 'if', будет единственным затронутым div, есть ли способ сделать это