私はULリストを作成しました。各LIには2つのDIVがあります - 表示可能な質問タブと非表示の回答タブ。タブの右側にボタンがあります(質問タブには[スライドダウン]ボタンがあり、回答タブには[スライドアップ]ボタンがあります)。しかし、これらのボタンをクリックすると、ULリスト全体にすべてのDIVが表示されます。クリックしたコンテンツのみを表示し、残りのDIVを非表示にするにはどうすればよいですか?JQuery Slide down/up - 同じクラス名から1つのdivだけを表示
HTMLは以下のようになります。
<ul>
<li>
<div class="questionTab" id="firstTab">What is the natural color for Dory?
<span class="slideDownButton" style="background-color: red">SLIDEDOWN</span>
</div>
<div class="answerTab">Answer: It's blue.
<span class="slideUpButton" style="background-color: red">SLIDEUP</span>
</div>
</li>
</ul>
をこの記事では、私は
.answerTab {
display: none;
}
などパディング、マージン、色などの一般的なレイアウトを除外とjQueryのスクリプトは、現在開いているであろう次のようになります。 ULのすべてのタブ:
$(document).ready(function(){
$(".slideDownButton").click(function(){
$(".answerTab").slideDown("slow");
});
});
$(document).ready(function(){
$(".slideUpButton").click(function(){
$(".answerTab").slideUp("slow");
});
});
しかし、いくつかの調査に基づいていくつかの人々は私と同様の問題で、クリックしたDIVだけを表示するように調整しました。最終的にはこのように見えますが、動作しません。
$(document).ready(function(){
$(".slideDownButton").click(function(){
$(this).parent("li").find(".answerTab").slideDown("slow");
});
});
$(document).ready(function(){
$(".slideUpButton").click(function(){
$(this).parent("li").find(".answerTab").slideUp("slow");
});
});
私はあなたの助けとアドバイスをお願いします。次のコードを改善するにはどうしたらよいですか?すべての助けに感謝します。
'jQuery(function($){'はDOMの準備が整ったラッパーです。 –
私の最初のコードを表示しようとしたときに間違いを犯しましたが間違いました。確かにドットがあるはずでした。それを指摘していただきありがとうございます。しかし、どのようにして1つのDIVだけを表示し、残りのものを隠すことができますか? – rrrrrauno
これは 'div'クラス名' answerTab'を表示して隠すことで、 'div'を2回表示します(' questionTab'と 'answerTab') - このコードは' answerTab''div'です。リストアイテムを表示したり非表示にしたりしますか?これも可能です。 –