2013-03-01 2 views
0

저는 jQuery에 익숙하지 않아 변수에서 필요한 값을 얻는 데 문제가 있습니다. 자세한 내용이 목록은 html 파일에 있습니다.jQuery 변수에서 하나의 값을 선택하십시오.

<ul id="menu"> 
<li class="mainmenu" id="newsarticles"><a href="#">News &amp; articles</a> 

    <ul id="newsarticles"> 
     <li class="submenu" id="news"> <a href="#">News</a> 

     </li> 
     <li class="submenu" id="articles"> <a href="#">Articles</a> 

     </li> 
    </ul> 
    <li class="mainmenu" id="contactus"><a href="#">Contact Us</a> 
    </li> 
</ul> 

이제 메인 메뉴와 하위 메뉴에 동일한 기능을 사용하고 싶습니다.

$("#menu li").click(Menu_function); 

내 문제는 내가 하위 메뉴를 클릭하면 변수 $ (this)에 두 개의 값이 있다는 것입니다. 하나는 하위 메뉴 안의 li에 대한 것이고, 다른 하나는 주 메뉴에 대한 것입니다.

지금은 내 함수에서 같은 것을 할 싶습니다 :

var currentId = $(this).attr('id'); 

어떻게 하나 개의 가치를 얻을 수 있을까?

도움을 주시면 감사하겠습니다. 그들 모두를 통과 할 당신은 JQuery와의 each 방법을 사용할 수 있습니다

$('#menu li').each(function(index) { 
    $(this).click(function() { 
     var id = $(this).attr('id'); 

     // do whatever you need to here 
    }); 
}); 
+0

어떤 가치가 필요합니까 ?? 부모 또는 그 자녀? –

답변

1

당신은 "각"선택기를 사용하여 두 항목에 클릭 기능을 추가 할 수 있습니다 할 것 onclick을 추가하십시오. dcp가 그의 대답에서 언급 한 것과 비슷한 무엇인가 :

$('#menu li').each(function() { 
    // add click method on this element ($(this)) 
    $(this).click(function() { 
    }); 
}); 
+1

Mann 당신은 초고속입니다 ... – Amar

1

당신은

$('#menu').click(function(evt) { 
    var currentId = $(evt.target).closest('li').attr('id'); 
}); 
관련 문제