单击使用Ajax发送表单的按钮后,可以淡出div并将其从页面中删除。淡入淡出和删除工作正常,因为我在浏览器中检查了HTML被删除但确实如此,但是检查div是否为空的if语句由于某种原因不起作用。
这是我的代码:
group_concat(DISTINCT tf.id) as `tfid`,
#otherSessions的if语句是没有被执行的,我检查了div id并且它们匹配,如果我在#otherSessions中没有内容的情况下呈现if语句的作用,它只在我在我的内部使用时提交听众。
newAjaxRequest就是在那里发布一个ajax请求。
答案 0 :(得分:1)
如果您尝试检查div
是否有children
,请使用if( $("#otherSessions").children().length === 0 )
。
答案 1 :(得分:1)
感谢Denialos和Patrick Evans,我整理了出来。
由于fadeOut是非阻塞的,我在完整函数中添加了if语句,并使用Denialos的答案来检查我的div是否有任何子项,因为只使用if($("#otherSessions").is(':empty'))
确实有效,因为remove()
正在留下空格
所以我的最终解决方案如下:
$(this).parent().parent().fadeOut("slow", function()
{
$(this).remove();
if($("#otherSessions").children().length === 0)
{
$("#otherSessionsTitle").text("No other active sessions");
}
});
答案 2 :(得分:0)
试试这种方式
$('.sessionSignOutBtn').submit(function (event)
{
event.preventDefault();
newAjaxRequest($(this).serialize(), 'index.php?ajax=sessionSignOut', removedSessionBox);
$(this).parent().parent().fadeOut('slow', function ()
{
$(this).remove();
if ($('#otherSessions').is(':empty')) {
$('#otherSessionsTitle').text('No other active sessions');
}
});
});