Добавить контент, если элемент не пуст

HTML:

<div id="parent"> 
  <div class="child"></div> 
  <div class="child"><p>Div with content<p></div> 
  <div class="child"><img scr="pic.png" alt="Div with picture" /></div>
</div>

Результат Я хочу:

<div id="parent"> 
  <div class="child"></div> 
  <div class="child"><h1>title</h1><p>Div with content<p></div> 
  <div class="child"><h1>title</h1><img scr="pic.png" alt="Div with picture" /></div>
</div>

Мой код jQuery:

$(".child").each(function() {
    if ($(this).html != '')
        $(this).prepend('<h1>title</h1>');
});

Результат с кодом jQuery:

<div id="parent"> 
  <div class="child"><h1>title</h1></div> 
  <div class="child"><h1>title</h1><p>Div with content<p></div> 
  <div class="child"><h1>title</h1><img scr="pic.png" alt="Div with picture" /></div>
</div>

Поэтому я просто хочу добавить заголовок для каждого div определенного класса, который не пуст.

Ответ 2

$(".child").each(function() {
    if ($(this).html())
        $(this).prepend('<h1>title</h1>');
});

Ответ 3

$("#parent .child").each(function() {
    if ($.trim($(this).html()).length > 0 )
        $(this).prepend('<h1>title</h1>');
});

Ответ 4

Используйте длину для проверки.

$(".child").each(function() {
    if ($(this).html().length)
        $(this).prepend('<h1>title</h1>');
});

Ответ 5

У вас есть незакрытый <p> и для получения селектора html вы используете функцию, а не атрибут:

$(this).html()

твоя скрипка http://jsfiddle.net/bCKGV/

мое http://jsfiddle.net/bCKGV/1/

Ответ 6

Попробуйте следующее:

 $(".child:not(:empty)").prepend('<h1>title</h1>');

ИЛИ

$("#parent .child").each(function() {
    if ($(this).html())
        $(this).prepend('<h1>title</h1>');
});