2011-06-12 3 views
12

J'essaye de retirer un élément du DOM s'il ne contient aucun élément.Vérifiez si l'élément a des enfants?

Voici ce que j'ai essayé:

var numChildren = 0; 
$("#messages").children().each(function() { 
    numChildren += 1; 
}); 
if (numChildren <= 0) { 
    $("#messages").slideUp("normal", function() { $(this).remove(); }); 
} 

Répondre

32
var messages = $('#messages'); 
if (messages.children().length < 1) { 
    messages.slideUp('normal', function() { $(this).remove(); }); 
}  

Ne pas oublier cependant que cela supprimera le messages div du DOM.

+0

Merci pour votre réponse cela m'a vraiment beaucoup aidé @Darin Dimitrov! –

1

Vous pouvez également simplement utiliser $("#messages:empty").remove();, bien que vous ayez besoin de rogner les espaces pour que l'élément soit vraiment vide.

Questions connexes