Ответ 1
$(".child:not(:empty)").prepend('<h1>title</h1>');
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 определенного класса, который не пуст.
$(".child:not(:empty)").prepend('<h1>title</h1>');
$(".child").each(function() {
if ($(this).html())
$(this).prepend('<h1>title</h1>');
});
$("#parent .child").each(function() {
if ($.trim($(this).html()).length > 0 )
$(this).prepend('<h1>title</h1>');
});
Используйте длину для проверки.
$(".child").each(function() {
if ($(this).html().length)
$(this).prepend('<h1>title</h1>');
});
У вас есть незакрытый <p>
и для получения селектора html вы используете функцию, а не атрибут:
$(this).html()
твоя скрипка http://jsfiddle.net/bCKGV/
Попробуйте следующее:
$(".child:not(:empty)").prepend('<h1>title</h1>');
ИЛИ
$("#parent .child").each(function() {
if ($(this).html())
$(this).prepend('<h1>title</h1>');
});