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>");
              }

这个逻辑不起作用,警报(“空 div”)测试永远不会被触发,我知道有空 div 已通过 Firebug 验证。知道我在这里做错了什么吗?

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 回答