2017-09-23 9 views
0

これらの2行を1つにマージできますか?これらの2行のjQueryを1つにマージするにはどうすればよいですか?

jQuery(".my-class").children(".open").show(); 
jQuery(".my-class").children(".closed").hide(); 

ありがとう!

+0

あなたがそれらをマージする必要がありますなぜ:あなたは、このいずれかを試してみてくださいend()方法

を使用することができますゲッター? – twoleggedhorse

+2

短いコードは常に良いとは限りません。これはより明確で理解しやすいものです。 1行が必要な場合は、それを関数にして、必要なときに呼び出す必要があります。 –

+0

あなたは次のようなものが必要です:http://api.jquery.com/toggle/ –

答えて

1

この要素の可視性(ボタンのクリックに応じて、代替、またはそのような何かを)切り替えることですちょうどあなたが必要なものの場合には、あなたが使用することができます...

$('.my-class').children('.open,.closed').toggle() 

...しかし、あなただけの場合.openを表示し、.closedを非表示にしたい場合は、コードがよさそうです。

1

ありがとうございます。 理由は、jQuery( "。my-class")が非常に長くなることがある(parent()を使用して複雑な検索を行っている場合や何が終わったか)。

私は良い解決策を見つけたと思う:(

jQuery(".my-class").each(function(){ 
    jQuery(this).children(".open").show(); 
    jQuery(this).children(".closed").hide(); 
}) 

トグルに良いオプションですが、私の質問は(だけではなく.SHOWのために、より一般的だった)、または.hide)

+0

また、いつでも一度計算して変数に保存し、それを複数回使用することもできます。 –

+0

そうですね、良いソリューションもありがとうございます! – FunkycraM

1

jQuery(".my-class").children(".open").show().end().children(".closed").hide(); 
+0

素晴らしい!それは私が探していたものです、ありがとう! – FunkycraM

+0

あなたはようこそ... – mohammad

関連する問題