我有以下表結構(這是由方式菜單):如何使用jQuery .not()僅在當前級別上選擇第一個孩子?
<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()
事件偵聽器,以便它顯示頁面的標題。另一個<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 2012-07-26 10:58:28