jQuery를 사용하여 div onclick을 표시하고 숨기려고합니다. 오류가 발생하지는 않지만 아무것도 표시하거나 숨기지 않습니다.jquery 클릭하면 div 표시/숨기기?
** 수정 - 업데이트 **
$(document).ready(function() {
$("#nav-inner a").click(function() {
var type = $(this).attr("class");
$("div.v1 > div").not("." + type).stop().hide().end().filter("." + type).stop().show();
return false;
});
});
다음은 jQuery의 :
$(document).ready(function() {
if($("#nav-inner")) {
$("#nav-inner ul li a").click(function(evt) {
var type = $(this).attr("class");
var rowcount = 0;
$('div.v1 .vc').each(function(idx,el) {
if(type == 'typea') {
if($(el).hasClass('typea')) {
$(el).show();
} else {
$(el).hide();
}
}
});
});
}
});
그리고 여기에 마크 업의이 훨씬 간단 할 수
<div id="page">
<div id="header">
<div id="nav">
<div id="nav-inner">
<ul class="nav-inner-li">
<li>
<a class="typea" href="#"><img src="/images/typea.png"></a>
<a class="typea" href="#">Type A</a>
</li>
</ul>
</div>
</div>
</div>
<div id="content">
<div id="content-content">
<div id="content-left">
<div class="v1">
<div class="vc">
<div class="typea">
<div class="title"> Title </div>
<div class="body"> Body </div>
</div>
<div class="typeb">
<div class="title"> Title 2 </div>
<div class="body"> Body 2 </div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
나는 항상 false 대신 반환) e.preventDefault를 (사용합니다. 내가 틀렸다면 나를 정정하되 false를 반환하지 않으면 현재 요소의 이벤트 만 취소 하시겠습니까? preventDefault()는 이벤트 체인을 중지합니까? – fredrik
고마워요 ... 일종의 일종 ... 그 클래스를 가진 div를 제외한 모든 것을 숨길 필요가 있다는 것을 제외하고는. 그래서 를 클릭하면 typea div가 표시되고 다른 모든 항목이 숨겨집니다 ... 반대쪽을 수행하는 것처럼 보입니다 ...? – phpN00b
@fredrik :'return false'는'preventDefault()'**와 **'stopPropagation()'과 동일합니다. – cletus