2009-07-04 119 views
0

如何選擇通過jQuery目前的鏈接,如果我有這樣一個div:選擇當前鏈接

<div id='navigation'> 
    <a href='users/home'>home</a> | 
    <a href='projects/browse'>home</a> 
    <a href='discussions/browse'>home</a> 
    <a href='search/dosearch'>home</a> 
</div> 

注意我已經試過:

$(document).ready(function(){ 
    $("#navigation a").click(function(event) 
    { 
     var clicked = $(this); // jQuery wrapper for clicked element 
     // ... click-specific code goes here ... 
     clicked.addClass('selected'); 
    }); 
}); 

但是當我點擊一個鏈接它會選擇一個鏈接並添加選中的類,但它將重新加載該頁面以導航到頁面,然後全部消失。有小費嗎?

感謝

+0

不知道你的DIV是怎麼了,也許你可以和之前的HTML離開後的空白行,並有至少4個空格縮進,所以它被正確持續顯示。 – glmxndr 2009-07-04 10:25:17

回答

5

這應該工作:

它基本上遍歷導航項目,如果當前頁面的URL中包含錨的href,它增加了類selected到錨。

+0

是的,但它仍會重新加載頁面,因爲鏈接上附加的默認事件仍將被激活。 – glmxndr 2009-07-04 10:22:51

1

是的,從你的click()回調參數取事件並使用e.preventDefault();(見there)。

或者return false

或者添加target='_blank'屬性到您的鏈接,以便他們打開其他頁面或標籤中的鏈接,如果您仍然希望鏈接被瀏覽器打開。

0
$(document).ready(function(){ 
    $("#navigation a").click(function(event) 
    { 
     var clicked = $(this); // jQuery wrapper for clicked element 
     // ... click-specific code goes here ... 
     clicked.addClass('selected'); 
     return false; 
    }); 
}); 

別忘了return false