我目前有以下菜單結構中的母版中定義:修改現有的菜單,子菜單的使用jQuery
<asp:ContentPlaceHolder ID="SubNavigation" runat="server">
<ul>
<li><%= RenderLink("item 1", "/item1/", null, null) %></li>
<li><%= RenderLink("item 2", "/item2/blah/", null, "nofollow")%></li>
<li><%= RenderLink("item 3", "/item3/blah/", null, "nofollow") %></li>
</ul>
</asp:ContentPlaceHolder>
隨着人們在工地附近導航RenderLink方法被調用,並檢查用戶是否當前在請求的頁面上,並將其呈現爲具有特定CSS的標記。
現在我想添加一個子菜單,如下所示:
<asp:ContentPlaceHolder ID="SubNavigation" runat="server">
<ul>
<li><%= RenderLink("item 1", "/item1/", null, null) %></li>
<li><%= RenderLink("item 2", "/item2/blah/", null, "nofollow")%></li>
<li><%= RenderLink("item 3", "/item3/blah/", null, "nofollow") %></li>
<li class="topitem">
<%= RenderLink("Item 4", "/Item4/blah/", null, null) %>
<ul class="sublist">
<li class="subitem">
<%= RenderLink("subitem4a", "/subitem4a/blah/", null, null) %></li>
<li class="subitem">
<%= RenderLink("subitem4b", "/subitem4b/blah/", null, null) %></li>
<li class="subitem">
<%= RenderLink("subitem4c", "/subitem4c/blah/", null, null) %></li>
</ul>
</li>
</ul>
我試圖使用jquery,這樣,當在具有topitem用戶derected到該類項目的用戶點擊然後顯示相應的URL和子菜單,一旦用戶離開不是頂部項目的頁面或子菜單關閉的任何子項目。
我一直在嘗試以下的jQuery,但還沒有任何喜悅......
$(document).ready(function() {
$('li.topitem > a:first-child').siblings().toggle();
});
顯然這有一個連鎖反應,顯示/隱藏任何li.topitems和它的兄弟姐妹是不是效果如果在我的菜單結構中定義了另一個子菜單,那就很好。
在jQuery中處理這個問題的最好方法是什麼?