私はすべてクリックするとdivを表示する必要がある8つのリンクがあります。一度に1つのdivだけを表示したいので、新しいリンクをクリックすると、現在表示されているdivが非表示になり、新しいdivが表示されます。これまで私は動作するjQueryソリューションを持っていましたが、それは醜いです。私が欲しいものを達成するためのより簡単な/より正しい方法がありますか?複数のdivの表示/非表示を改善する方法はありますか?
<div>
<a href="#" class="link">Click Link</a><br />
<a href="#" class="link2">Click Link 2</a><br />
<a href="#" class="link3">Click Link 3</a><br />
<a href="#" class="link4">Click Link 4</a><br />
<a href="#" class="link5">Click Link 5</a><br />
<a href="#" class="link6">Click Link 6</a><br />
<a href="#" class="link7">Click Link 7</a><br />
<a href="#" class="link8">Click Link 8</a><br />
<div class="testVid hideDiv" style="background:pink; height:200px">Test Vid Div<br /><br /><span class="close">CLOSE</span></div>
<div class="testVid2 hideDiv" style="background:pink; height:200px">Test Vid Div 2<br /><br /><span class="close2">CLOSE 2</span></div>
<div class="testVid3 hideDiv" style="background:pink; height:200px">Test Vid Div 3<br /><br /><span class="close3">CLOSE 3</span></div>
<div class="testVid4 hideDiv" style="background:pink; height:200px">Test Vid Div 4<br /><br /><span class="close4">CLOSE 4</span></div>
<div class="testVid5 hideDiv" style="background:pink; height:200px">Test Vid Div 5<br /><br /><span class="close5">CLOSE 5</span></div>
<div class="testVid6 hideDiv" style="background:pink; height:200px">Test Vid Div 6<br /><br /><span class="close6">CLOSE 6</span></div>
<div class="testVid7 hideDiv" style="background:pink; height:200px">Test Vid Div 7<br /><br /><span class="close7">CLOSE 7</span></div>
<div class="testVid8 hideDiv" style="background:pink; height:200px">Test Vid Div 8<br /><br /><span class="close8">CLOSE 8</span></div>
$(document).ready(function(){
$("a.link").click(function(){
$(".testVid").show();
$(".testVid2").hide();
$(".testVid3").hide();
$(".testVid4").hide();
$(".testVid5").hide();
$(".testVid6").hide();
$(".testVid7").hide();
$(".testVid8").hide();
});
$(".close").click(function(){
$(".testVid").hide();
});
$("a.link2").click(function(){
$(".testVid2").show();
$(".testVid").hide();
$(".testVid3").hide();
$(".testVid4").hide();
$(".testVid5").hide();
$(".testVid6").hide();
$(".testVid7").hide();
$(".testVid8").hide();
});
$(".close2").click(function(){
$(".testVid2").hide();
});
$("a.link3").click(function(){
$(".testVid3").show();
$(".testVid2").hide();
$(".testVid").hide();
$(".testVid4").hide();
$(".testVid5").hide();
$(".testVid6").hide();
$(".testVid7").hide();
$(".testVid8").hide();
});
$(".close3").click(function(){
$(".testVid3").hide();
});
$("a.link4").click(function(){
$(".testVid4").show();
$(".testVid2").hide();
$(".testVid3").hide();
$(".testVid").hide();
$(".testVid5").hide();
$(".testVid6").hide();
$(".testVid7").hide();
$(".testVid8").hide();
});
$(".close4").click(function(){
$(".testVid4").hide();
});
$("a.link5").click(function(){
$(".testVid5").show();
$(".testVid2").hide();
$(".testVid3").hide();
$(".testVid4").hide();
$(".testVid").hide();
$(".testVid6").hide();
$(".testVid7").hide();
$(".testVid8").hide();
});
$(".close5").click(function(){
$(".testVid5").hide();
})
;$("a.link6").click(function(){
$(".testVid6").show();
$(".testVid2").hide();
$(".testVid3").hide();
$(".testVid4").hide();
$(".testVid5").hide();
$(".testVid").hide();
$(".testVid7").hide();
$(".testVid8").hide();
});
$(".close6").click(function(){
$(".testVid6").hide();
});
$("a.link7").click(function(){
$(".testVid7").show();
$(".testVid2").hide();
$(".testVid3").hide();
$(".testVid4").hide();
$(".testVid5").hide();
$(".testVid6").hide();
$(".testVid").hide();
$(".testVid8").hide();
});
$(".close7").click(function(){
$(".testVid7").hide();
});
$("a.link8").click(function(){
$(".testVid8").show();
$(".testVid2").hide();
$(".testVid3").hide();
$(".testVid4").hide();
$(".testVid5").hide();
$(".testVid6").hide();
$(".testVid7").hide();
$(".testVid").hide();
});
$(".close8").click(function(){
$(".testVid8").hide();
});
$(".hideDiv").css('display', 'none');
});
美しい。あなたは 'a [id^=" link "]'と 'var vid_id = $(this).attr(" id ")というものを私に説明してもらえますか?replace(" link "、" #testVid ");' mean so私はより良い理解を持つことができますか? Ofcourse。 – ComatoseDuck
。 'a [id^=" link "]'はjQueryセレクタです。基本的に 'link'で始まるID属性を持つすべての' a'タグをフィルタリングします。次の行では、リンククリックのID属性を取得し、 'link2'と答えて、そのIDを対応するtestVidに変換します。リンクを'#testVid'に置き換えるだけで、 '#testVid2'となります。私はちょうどそれに応じてそれを表示/非表示することができ私はセレクタを扱う際にID属性を使用するのが好きです。なぜなら、たった1つ以上のクラスを使用することが多いからです。 –