안녕하세요. 이전에 질문올렸는데 도움받아서 잘 사용하고 있습니다.
원소스에서는 기능이 잘되는데 table 안에 넣고 돌리니까 잘안되어서요
소스는 아래와 같습니다...
Copy
<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개
채택된 답변
+20 포인트
2016-06-09 (목) 22:20:22
$(this) 는 선택된 이벤트의 현재위치(?)를 가져오는지라
지금과 같은 TAG 로 나뉘어질땐 위치를 찾아내거나 class 또는 ID 로 지칭하면 될 것 같습니다.
13번째 줄의 script 소스를 아래와 같이 변경해주세요.
Copy
//var submenu = $(this).next("ul"); var submenu = $('.hide');
답변을 작성하려면 로그인이 필요합니다.