3

下面显示的代码工作正常,除了我认为它看起来有点业余(我自己做的: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

4 回答 4

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();
于 2012-04-20T22:24:43.830 回答
2

您可以用逗号分隔选择器。前任:

$('#fancybox-wrap, #fancybox-overlay, #panel_login, #panel_all').hide();
于 2012-04-20T22:23:25.210 回答
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");
于 2012-04-20T22:23:37.963 回答
1

如果你给#fancybox-wrap和朋友一个共同的班级,称之为new-class,你可以这样做:

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

并一次获得所有四个。

于 2012-04-20T22:23:39.123 回答