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

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

QA

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

답변 1

본문

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

원소스에서는 기능이 잘되는데 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'); 
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,101
© SIRSOFT
현재 페이지 제일 처음으로