jQuery empty()回调未被激发



我清空所有子元素的一个元素,然后应用一个具有相同类但位于不同元素内的元素。

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>

只需调用不带任何参数的空函数,然后执行任何您喜欢的操作。

$('.commentsBox').empty();
$('.commentsBox').each(function(){
      $(this).closest('.box').find('.commentsBox').load('url.com');
      $(this).closest('.box').addClass(openComments);
});
$('.commentsButton').on('click', function(e){
    e.preventDefault();
    $('.box').removeClass('openComments');
    $('.commentsBox').empty();
    $(this).closest('.box').addClass('openComments')
           .find('.commentsBox').load('url.com');
});

最新更新