у меня есть этот код ...JQuery .html ('') не работает, как я ожидал
$(".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('');
сделает это, но, видимо, я ошибаюсь.
использование '$ (" loadMsg"). Пустой()' вместо этого. '.html ('')' является оболочкой для '.empty(). append()' –
Пробовал '.empty()', но не имел успеха. Спасибо @BradM за идею. –
Я не подразумевал использование '.empty()' в качестве решения, как более точный код. Я не знаю точно, что вы пытаетесь сделать с вашим кодом, но мое предложение состоит в том, чтобы держать все скрытым и показывать только когда оно готово. Кажется, у вас ошибка в некотором коде, который не показан. –