나는 (그런데 메뉴입니다) 다음 목록 구조를 가지고 :jQuery .not()을 사용하여 현재 수준에서만 첫 번째 자식을 선택하는 방법은 무엇입니까?
나는 그것이 페이지의 헤더를 표시되도록 첫 번째<li>
에
click()
이벤트 리스너를 첨부 할
<div id="mainmenu">
<ul class="menu">
<li class="item-435">
<li class="item-468 active deeper parent">
<a href="#">News</a>
<ul>
<li class="item-469 current active">
<a href="/index.php/news/news-topaktuell">Topaktuell</a>
</li>
<li class="item-480">
<a href="/index.php/news/events">Events</a>
</li>
</ul>
</li>
<li class="item-476">
<li class="item-477">
<li class="item-478">
<li class="item-479">
</ul>
</div>
. 다른 <li>
태그도 청취자가 click()
이어야하지만이 이벤트의 경우 헤더가 숨겨져 있어야합니다. 헤더는 기본적으로 표시되므로 머리글은 홈 페이지 (첫 번째 하위)에만 표시되어야합니다.
이미 무슨 짓을 :
는$('#mainmenu .menu li:not(:first-child)').click(function() {
//hide header
});
$('#mainmenu .menu li:first-child').click(function() {
//show header
});
그러나 이것은 내가 원하지 않는, 너무 하위 목록에서 첫 번째 자식을 선택합니다. 원하는 태그 만 선택하는 우아한 방법이 있습니까?
당신은'$ ('mainmenu .menu'). children ('li : first-child')'를 시도 할 수 있습니다. 아이들은 직접적인 자손들 가운데서 만 선택을하고 더 깊이 잠수하지 않습니다. – Tallmaris