当我的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中加载的值,之后不会更改。可以吗?
答案 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>