jQuery onclick函数清理

时间:2012-04-20 22:18:59

标签: jquery hide

下面显示的这段代码工作得很好,除了它看起来有点像我的意见(我自己做了:P)。我相信这可以更清洁。所以我的问题是如何结合这些'隐藏'?还有其他建议吗?

$('.login_inputbox').removeClass("register_inputbox_error login_inputbox_error").removeClass("register_inputbox_ok login_inputbox_ok");
validator.resetForm();
$(".btn-slide_login").removeClass("active_login");
$(".btn-slide_all").removeClass("active_all");
$('#fancybox-wrap').hide();
$('#fancybox-overlay').hide();
$('#panel_login').hide();
$('#panel_all').hide();

提前感谢您的帮助!

4 个答案:

答案 0 :(得分:5)

您可以按照以下方式removeClass进行一次

$('.login_inputbox').removeClass("register_inputbox_error login_inputbox_error register_inputbox_ok login_inputbox_ok");

而不是如下两次使用

$('.login_inputbox').removeClass("register_inputbox_error login_inputbox_error").removeClass("register_inputbox_ok login_inputbox_ok");

以及

$('#fancybox-wrap, #fancybox-overlay, #panel_login, #panel_all').hide();

而不是

$('#fancybox-wrap').hide();
$('#fancybox-overlay').hide();
$('#panel_login').hide();
$('#panel_all').hide();

答案 1 :(得分:2)

您可以使用逗号分隔选择器。例如:

$('#fancybox-wrap, #fancybox-overlay, #panel_login, #panel_all').hide();

答案 2 :(得分:2)

要合并.hide()语句,您需要一个适用于所有四个元素的选择器。你可以这样做:

$('#fancybox-wrap,#fancybox-overlay,#panel_login,#panel_all').hide();

或者你可以给这些元素一个共同的类:

$('.someClass').hide();

另请注意,通过组合.removeClass()来电可以简化您的第一行:

$('.login_inputbox').removeClass("register_inputbox_error login_inputbox_error register_inputbox_ok login_inputbox_ok");

答案 3 :(得分:1)

如果您给#fancybox-wrap和朋友分享一个共同的课程,请将其命名为new-class,您可以这样做:

$('.newclass').hide();

立刻获得所有四个。