0

我正在清空所有子元素的元素,然后应用具有相同类但在单独元素中的元素。

此函数的回调empty()未触发。我错过了这个类/回调问题吗?

$('.commentsButton').click(function(e){
e.preventDefault();
if ('.openComments').length) {
    $(this).closest('.box').removeClass(openComments);

    $('.commentsBox').empty(function(){
            $(this).closest('.box').find('.commentsBox').load('url.com');
            $(this).closest('.box').addClass(openComments);
        });
} else {
        $(this).closest('.box').find('.commentsBox').load('url.com');
        $(this).closest('.box').addClass(openComments);
    }
});

<div class="box">
  <a class="commentsButton" href="#"></a>
   <div class="commentsBox"></div>
</div>
<div class="box">
  <a class="commentsButton" href="#"></a>
   <div class="commentsBox"></div>
</div>
4

2 回答 2

1

只需调用没有任何参数的空函数,然后做任何你喜欢的事情。

$('.commentsBox').empty();
$('.commentsBox').each(function(){
      $(this).closest('.box').find('.commentsBox').load('url.com');
      $(this).closest('.box').addClass(openComments);
});
于 2013-07-29T21:37:10.700 回答
0
$('.commentsButton').on('click', function(e){
    e.preventDefault();

    $('.box').removeClass('openComments');
    $('.commentsBox').empty();
    $(this).closest('.box').addClass('openComments')
           .find('.commentsBox').load('url.com');
});
于 2013-07-29T21:50:15.990 回答