/ / Jak usunąć bieżący element, jeśli poprzedni element jest pusty w jquery? - javascript, jquery, html

Jak usunąć bieżący element, jeśli poprzedni element jest pusty w jquery? - javascript, jquery, html

Chcę usunąć element z klasą"tehnicneinfo", ale tylko wtedy, gdy element, który sprawdzam (z klasą "h2size") nie ma dziecka, mam kilka tych elementów wygenerowanych przez wtyczkę i chcę usunąć tylko te, które mają następny element bez elementu potomnego Napisałem kod jquery, ale on kasuje wszystkie moje elementy, nie tylko te, które mają następny element bez elementu potomnego. Oto mój kod jquery:

$(".news .h2size > div").each(function() {
var ul = $(this).find("ul");
if(!ul.length) $(this).remove();
var h1 = $(".news").find(".tehnicneinfo");
var h2size = $(".news").find(".h2size");
if(h2size.prev().is(":empty"))
{
h1.remove();
}
});

ten kod jest w środku $(document).ready(function(). Czy możesz mi powiedzieć, co robię źle? Kod jest również dla czegoś innego, więc mam tylko trójkę var h1 = $(".news").find(".tehnicneinfo"); ta linia włączona. Z góry dziękuję!

Html:

<div class="news">
<h1 class="tehnicneinfo">xxx</h1>
<div class="h2size">
<div id="xyxyxy">
.......
</div>
</div>
<h1 class="tehnicneinfo">yyy</h1>
<div class="h2size"></div>
....
</div>

To jest html, tyle tylko, że istnieje 20 kolejnych linii, które są takie same, ale z różnymi wartościami (nie rrrr i xxx) .Dodałoby mi się usunąć wszystkie "yyy" (nie wszystkie są z tą samą wartością).

Odpowiedzi:

3 dla odpowiedzi № 1

Możesz użyć filtr aby przefiltrować te, które chcesz usunąć, a następnie je usunąć

"Chcę usunąć tylko te, które mają kolejny element bez dziecka"

$(".tehnicneinfo").filter(function(){
return !$(this).next().children().length;
// only ones with next sibling with no children
}).remove();

JSFIDDLE