Проверить, есть ли у элемента дочерние элементы?

12

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

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

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

2 ответа

32
Лучший ответ
var messages = $('#messages');
if (messages.children().length < 1) {
    messages.slideUp('normal', function () { $(this).remove(); });
}    

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

  • 0
    Спасибо за ваш ответ, он мне очень помог @Darin Darin Dimitrov!
1

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню