我清空所有子元素的一个元素,然后应用一个具有相同类但位于不同元素内的元素。
此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');
});