2012-04-20 9 views
3

以下に示すコードは、自分の意見に少しアマチュアリなように見えますが(自分で作ったもの:P)、それ以外はうまくいきます。私はこれがはるかにクリーンかもしれないと確信しています。だから私の質問は、それらの '隠れ'をどのように組み合わせるのか?その他の提案はありますか?あなたの助けを事前にjQuery onclick関数のクリーンアップ

$('.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

質問と "onclick関数"の関係は何ですか? –

+1

このコードはonclick関数内に配置されているためです。より良いタイトルを知っていれば、あなたは更新することができます:) –

答えて

2

あなたはすべての4つの要素に適用されるセレクタを必要とするだろう.hide()文を組み合わせること。あなたの最初の行は.removeClass()呼び出し組み合わせることにより、簡素化することができることも

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

注:

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

それとも、それらの要素に共通のクラスを与えることができる:あなたはこれを行うことができます

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

レッスンのためのtnx! :) –

2

セレクタをカンマで区切ることができます。例:

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

#fancybox-wrapと友だちに共通のクラスを指定する場合は、new-classとすると、次のようになります。

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

すべてを一度に取得します。

$('.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(); 

の代わりに次のように

5

次のことが可能USS removeClassは1回2回

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

代わりにそれを使用しての、以下のように

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

あなたもレッスンのためにあなたにtnx! :) –

+1

あなたは大歓迎です:-) –

関連する問題