0

私は次のコンテンツを持っています...

              <div class="sectionA"></div>
              <div class="sectionA"></div>
              <div class="sectionA"></div>
              <div class="sectionA"></div>

まず、最初の空の div にコンテンツを追加する必要があります....だから私はこれを試みました:

              if(".sectionA").is(":empty"))
              {
                   alert("empty div")
                   $(this).append(value);
              }else // if no available empty divs then insert after last div
              {
                   $(".sectionA:last").after("<div>"+value+"</div>");
              }

このロジックは機能しておらず、alert("empty div") テストがトリガーされず、Firebug で確認された空の div があることがわかっています。ここで何が間違っているのか分かりますか?

4

2 に答える 2

2

構文エラーがあります:

if ( $(".sectionA").is(":empty") )
// ^ ^ You're missing the parentheses & dollar sign.

ただし、あなたの論理には欠陥があります。代わりにこれを使用してください:

var $sections = $(".sectionA");
var $empty = $sections.filter(':empty');

if ( $empty.length ) {
    $empty.first().append(value);
} else {
    $sections.last().after('<div>' + value + '</div>');
}
于 2013-01-25T05:00:38.510 に答える
0

最初の空のdivにコンテンツを追加する必要がある場合。$サインインif条件を逃した

$(document).ready(function(){
  if($(".sectionA:first").is(":empty"))
  {
       alert("empty div")
       $(this).append(value);
  }else // if no available empty divs then insert after last div
  {
       $(".sectionA:last").after("<div>"+value+"</div>");
  } 
});

alert("empty div")その後、テストトリガーを取得します。その後、ロジックを実行して値を追加できます。

于 2013-01-25T05:21:49.647 に答える