可能很简单:使用removeClass / addClass显示和隐藏div

时间:2014-09-11 01:10:35

标签: javascript jquery twitter-bootstrap

这应该非常简单,也许我错过了一些明显的东西,但这是我的问题。

我在下面的div中使用了bootstrap类“hidden”。当单击表单上的提交按钮时,表单将被提交,如果从回调函数返回错误,我将删除“隐藏”类,以便用户看到警告消息

删除“隐藏”类以显示警告消息:

$('.not-submitted').removeClass('hidden');

包含“隐藏”类的html:

<div class="not-submitted alert alert-error hidden">
    <a class="close" data-dismiss="alert">×</a>
    <strong>Error!</strong> Form not submitted, please try again.
</div>

以上工作正常,但是当用户再次尝试并且第二次失败时,警报消息不显示,因为用户已关闭警报消息框并且“隐藏”类已被删除,事实上当删除类时,它似乎正在删除整个div,而不仅仅是“隐藏”类。

所以我需要做的是重新添加类。我认为这样做很容易:

$('.not-submitted').addClass('hidden');

不幸的是,这不起作用(如果删除整个div,它就不会这样做)。

任何人都有关于如何最好地对此进行排序的任何想法?

1 个答案:

答案 0 :(得分:2)

是的,data-dismiss将解散您的可怜提示×按钮中删除不允许的数据data-dismiss

<a class="close">×</a>

添加此jQ:

$('.not-submitted .close').click(function(){
    $(this).closest('.not-submitted').addClass('hidden');
});