13

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にタイトルを追加したいだけです。

4

6 に答える 6

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

jQuery の空のセレクター

于 2012-05-04T12:59:16.247 に答える
5
$("#parent .child").each(function() {
    if ($.trim($(this).html()).length > 0 )
        $(this).prepend('<h1>title</h1>');
});
于 2012-05-04T13:03:35.717 に答える
5
$(".child").each(function() {
    if ($(this).html())
        $(this).prepend('<h1>title</h1>');
});
于 2012-05-04T12:56:47.563 に答える
1

代わりに長さを使用して確認してください。

$(".child").each(function() {
    if ($(this).html().length)
        $(this).prepend('<h1>title</h1>');
});
于 2012-05-04T12:58:26.597 に答える
0

閉じていない<p>ものを取得し、セレクターの html を取得するには、属性ではなく関数を使用します。

$(this).html()

あなたのフィドル http://jsfiddle.net/bCKGV/

私の http://jsfiddle.net/bCKGV/1/

于 2012-05-04T13:02:07.240 に答える
0

これを試して:

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

また:

$("#parent .child").each(function() {
    if ($(this).html())
        $(this).prepend('<h1>title</h1>');
});
于 2012-05-04T13:08:32.997 に答える