나는 8 개의 링크를 모두 클릭하면 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
. '[id^= "link"]'는 jQuery 셀렉터로, 기본적으로'link'로 시작하는 ID 속성을 가진 모든'a' 태그를 걸러냅니다. 다음 줄에서 링크 클릭의 ID 속성을 얻고,'link2'라고 말하면 해당 ID를 해당 testVid로 변환합니다. 링크를'# testVid'로 바꾸면 이제는 # testVid2가됩니다. 나는 그것을 단지 숨기거나 표시 할 수있다. 선택기로 작업 할 때 ID 속성을 사용하기를 좋아합니다. 왜냐하면 종종 하나 이상의 클래스를 사용하기를 원하기 때문입니다. –