如何使用jQuery检查切换隐藏状态

时间:2015-02-21 14:31:17

标签: javascript jquery html ajax

当我的ajax-call是(非)成功时,我将隐藏状态从我的三个alert-div之一切换。

$('#alert-success).toggle(':hidden');

在第一次保存后,我进行了一些更改并再次保存,我希望#alert-success重置为正常状态(隐藏),以便在成功调用ajax后再次出现。

现在发生的事情是,由于.toggle(':hidden'),我的#alert-success在提交时就会消失。

如何重置?我试了这个没有成功:

function resetAlerts() {
    $(document).each(function() {
        if ($('.alert').not(':hidden')) {
            $('.alert').toggle(':hidden');
        }
    })
}

所以我认为这个.not(':hidden')仅适用于DOM中加载的值,之后不会更改。可以吗?

2 个答案:

答案 0 :(得分:1)

您可以检查您的元素.is(':visible')然后添加/删除课程hidden,并在您的css中添加:.hidden {display:none;}

答案 1 :(得分:1)

如文档页面here所示,如果您想切换它,可以使用.toggle();而不使用以下任何参数:

$( "button" ).click(function() {
    $( "p" ).toggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button>Toggle</button>
<p>Hello</p>
<p style="display: none">Good Bye</p>