Проверить, есть ли у элемента дочерние элементы? - PullRequest
12 голосов
/ 12 июня 2011

Я пытаюсь удалить элемент из DOM, если он не содержит никаких элементов.

Вот что я пробовал:

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

Ответы [ 2 ]

33 голосов
/ 12 июня 2011
var messages = $('#messages');
if (messages.children().length < 1) {
    messages.slideUp('normal', function () { $(this).remove(); });
}    

Не забывайте, однако, что это удалит div messages из DOM.

1 голос
/ 12 июня 2011

Вы также можете просто использовать $("#messages:empty").remove();, хотя вам нужно будет обрезать пробел, чтобы сделать элемент действительно пустым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...