채택완료

목록 펼치기 다시 질문 드립니다.ㅜ

2016-06-09 (목) 22:11:43 3,060

안녕하세요. 이전에 질문올렸는데 도움받아서 잘 사용하고 있습니다.

원소스에서는 기능이 잘되는데 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');

답변을 작성하려면 로그인이 필요합니다.