我有这段代码......
$(".loadMsg").load('modalAnsmessages.php?id=<?php echo $row['id']; ?>&t=r',function(){
$('#preloader').fadeOut();
$(".modal_dialog .content").css({ 'background-color': '#eeeeee' });
setTimeout("$.fancybox.resize();",500);
});
工作正常。后来我运行这段代码......
$(".p_close").click( function(){
$(".loadMsg").html('');
$(".loadMsgOpen").show();
$(".modal_dialog .content").css({ 'background-color': '#ffffff' });
setTimeout("$.fancybox.resize();",500);
});
......乍一看这段代码看起来运行正常;但是,我不认为$(".loadMsg").html('');
按预期工作。每次运行第一个代码块时,.loadMSG
的每个先前内容都会暂时显示,直到它最终通过所有先前的实例并停止。有时它会停在正确的位置,有时则不会。
我希望发生的是,当$(".p_close").click
运行时,我希望$(".loadMsg")
的所有记忆都消失。我认为$(".loadMsg").html('');
会这样做,但显然我错了。
答案 0 :(得分:1)
请尝试使用empty功能:
此方法不仅删除子(和其他后代)元素, 但也是匹配元素集中的任何文本。
$(".p_close").click( function(){
$(".loadMsg").empty();
$(".loadMsgOpen").show();
$(".modal_dialog .content").css({ 'background-color': '#ffffff' });
setTimeout("$.fancybox.resize();",500);
});