목록 펼치기 다시 질문 드립니다.ㅜ
본문
안녕하세요. 이전에 질문올렸는데 도움받아서 잘 사용하고 있습니다.
원소스에서는 기능이 잘되는데 table 안에 넣고 돌리니까 잘안되어서요
소스는 아래와 같습니다...
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<style>
.drop_menu a{cursor:pointer;}
.drop_menu .hide{display:none;}
.drop_menu .close { display:none; }
</style>
<script>
$(document).ready(function(){
$(".drop_menu>a").click(function(){
var submenu = $(this).next("ul");
if( submenu.is(":visible") ){
submenu.slideUp();
$('.close').hide();
}else{
submenu.slideDown();
$('.close').show();
}
});
$(".close").click(function(){
$('.drop_menu > a').trigger('click');
});
});
</script>
<table>
<tr>
<td> <div class="drop_menu"><a href="#">목록열기</a></div></td>
<td>
<a href="#"><img src="img/play_bt.png" class="png24-1" /></a>
<a href="#"><img src="img/play_bt.png" class="png24-1" /></a>
</td>
</tr>
<tr>
<td class="aaa">
<ul class="hide">
<li>메뉴1-1</li>
<li>메뉴1-2</li>
<li>메뉴1-3</li>
<li>메뉴1-4</li>
<li>메뉴1-5</li>
<li>메뉴1-6</li>
</ul>
<div class="close"><a>열린목록 닫기</a></div>
</td>
</tr>
중간에 tr,td등 태그가 있어서 목록이 안열리는것 같은데요
var submenu = $(this).next("ul");
이부분을
var submenu = $(this).next(".aaa>ul");
하니까 먹통이더라구요.. 스크립트 쪽은 아예...ㅎㅎ
도움 부탁드립니다. 감사합니다
!-->답변 1
$(this) 는 선택된 이벤트의 현재위치(?)를 가져오는지라
지금과 같은 TAG 로 나뉘어질땐 위치를 찾아내거나 class 또는 ID 로 지칭하면 될 것 같습니다.
13번째 줄의 script 소스를 아래와 같이 변경해주세요.
//var submenu = $(this).next("ul");
var submenu = $('.hide');
답변을 작성하시기 전에 로그인 해주세요.