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 № 1Puedes 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();