jquery .html('')没有像我期望的那样工作

时间:2013-03-11 17:53:57

标签: jquery

我有这段代码......

$(".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('');会这样做,但显然我错了。

1 个答案:

答案 0 :(得分:1)

请尝试使用empty功能:

  

此方法不仅删除子(和其他后代)元素,   但也是匹配元素集中的任何文本。

$(".p_close").click( function(){
    $(".loadMsg").empty();
    $(".loadMsgOpen").show();
    $(".modal_dialog .content").css({ 'background-color': '#ffffff' });
    setTimeout("$.fancybox.resize();",500);  
});