下面显示的这段代码工作得很好,除了它看起来有点像我的意见(我自己做了: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();
提前感谢您的帮助!
答案 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();
立刻获得所有四个。