Как скрыть / удалить DIV, когда он пуст - PullRequest
15 голосов
/ 21 сентября 2009

У меня есть некоторый вывод HTML на стороне сервера, с которым я не могу справиться, используя чистый CSS, по сути, DIV иногда содержит:

<div><span>Content</span></div>

или

<div><p>Content</p></div>

или

<div>Content</div>

или

<div> </div>

Когда DIV == <div> </div> Я хочу удалить его.

Есть идеи?

Ответы [ 5 ]

43 голосов
/ 18 августа 2012

Вы можете сделать это, используя только CSS:

div:empty { display: none }
21 голосов
/ 21 сентября 2009

Еще лучше (при условии jQuery):

$(document).ready(function() { $('div:empty').remove(); });

РЕДАКТИРОВАТЬ: Другие ответы хороши, но ОП хотел удалить пустой элемент, а не скрыть его.

10 голосов
/ 21 сентября 2009

Я думаю, что вы можете сделать следующее:

$(function() {
  $("div:empty").hide();
});

jQuery's empty отличный псевдо-селектор.

6 голосов
/ 22 августа 2012

Вот еще один простой способ ... используя фильтр () ...

$('div').filter(function() {

  return $.trim($(this).text()) === ''

}).remove()
3 голосов
/ 24 ноября 2010

Вы также можете использовать только CSS для решения этой проблемы, поместив таблицу с style="empty-cells:hide" вокруг содержимого и изменив div на td, например:

До:

<div>Content</div>

После:

<table style="empty-cells:hide"><tr><td>Content</td></tr></table>

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