2013-09-27 93 views
0

我發現這個jQuery add class to current li and remove prev li when click inside li a,但它不適用於我。jQuery將類添加到當前li並刪除prev li

header.jsp

<ul>  
    <li class="current"><a href="#">menu item</a></li> 
    <li><a href="aba.jsp">menu item</a></li> 
    <li><a href="abb.jsp">menu item</a></li> 
    <li><a href="abc.jsp">menu item</a></li> 
    <li><a href="abd.jsp">menu item</a></li> 
</ul> 

$('ul li a').click(function(){ 
    $('ul li.current').removeClass('current'); 
    $(this).closest('li').addClass('current'); 
}); 

其他jsp頁面中包含此header.jsp中。當我添加jQuery作爲鏈接說的時候,這個類是臨時添加的,然後它就像刷新一樣,並且頁面返回到它的初始狀態,這是第一個li的類current。任何想法?

UPDATE:href="#aba"href="aba.jsp"

+6

如果你沒有顯示你的代碼,我們如何判斷你做錯了什麼? – Barmar

+0

你能在jsFiddle.net上重現這個嗎? – j08691

+0

鏈接是否會將您帶到新頁面? –

回答

0

的代碼,因爲它是,工作原理:http://jsfiddle.net/GGCNd/。但它不適合你的情況。

任何鏈接您的訪問,張貼你做或重新加載頁面。任何做HTTP請求的東西,你通過JavaScript擦除你的更改。

每次使用此菜單加載頁面時,您必須加載JS函數,或者在頁面中執行需要重新加載的Post。

該功能必須比較當前頁面和菜單中的鏈接列表,將class="current"添加到比賽中。