1

我正在通过 $.post 从数据库中加载一些文本。有时在页面加载时屏幕只是空白,当我检查它设置为的 div 元素时<div id="#panel" style="display:none">,我不知道为什么会发生这种情况,尽管在$.post我淡出 div 并且当$.post得到输出时,我带回来分区。

$('#panel').html(output).show();

我正在使用$("#panel").fadeOut(100);,所以我可以让我的 loading.gif 工作。

有什么方法可以检查#panel 的样式是否设置为 display:none,如果是,则将其删除。

谢谢。

编辑:我调用复选框更改和页面加载的函数

$("#loading").show();
$("#panel").fadeOut(100);
$('#options :input').prop('disabled', true);
$('#loading').html("<img src='loading.gif'>"); 
var langSelected = $('input[name=text]:checked').map(function() {return $(this).parent().text();}).get().join(",");

$.post('http://mywebsite.com/data.php', { value: languages.url.value, mycheckboxes: langSelected},
function(output) {
    $('#panel').html(output).show(); 
    $('#loading').hide();
    $('#options :input').removeAttr('disabled');

});
4

1 回答 1

4

试试这个:

if ($('#panel').is(':hidden')) {
     $('#panel').remove()
}

或者:

$('#panel:hidden').remove()

error但是,您可以使用以下方法代替删除 div :

$.post("example.php", function() {
      // success
}).error(function() { 
      $('#panel').show()
      // error
})
于 2012-08-12T18:15:06.930 回答