2011-06-12 149 views
12

我想从DOM中删除一个元素,如果它不包含任何元素。检查元素是否有孩子?

这里是我的尝试:

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

回答

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

不要忘记,虽然这样可以消除从DOM messages股利。

+0

谢谢你的回答,它真的帮了我很多@达林季米特洛夫! – 2015-04-03 12:36:42

1

您也可以简单地使用$("#messages:empty").remove();,但您需要修整空格以使元素真空。