/ / ¿Cómo eliminar el elemento actual si el elemento anterior está vacío en jquery? - javascript, jquery, html

¿Cómo eliminar el elemento actual si el elemento anterior está vacío en jquery? - javascript, jquery, html

Quiero eliminar elemento con clase"tehnicneinfo" pero solo si el elemento I "m check (con clase" h2size ") no tiene hijo. Tengo un montón de esos elementos, generados por un complemento y quiero eliminar solo los que tienen el siguiente elemento sin niño. . Escribí el código jquery, pero elimina todos mis elementos, no solo los que tienen el siguiente elemento sin hijos. Aquí está mi código 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();
}
});

este código está dentro $(document).ready(function(). ¿Puedes decirme qué estoy haciendo mal? El código es para otra cosa también, así que estoy teniendo problemas solo de var h1 = $(".news").find(".tehnicneinfo"); esta linea en ¡Gracias por adelantado!

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>

Ese es el html, solo que hay como 20 líneas más que son iguales, pero con valores diferentes (no yyy y xxx). Necesitaría eliminar todos los "yyy" (no todos tienen el mismo valor).

Respuestas

3 para la respuesta № 1

Puedes usar filtrar para filtrar los que quieras eliminar y luego eliminarlos

"Quiero eliminar solo los que tienen el siguiente elemento sin hijos"

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

JSFIDDLE