2011-08-08 43 views
0

我在動態aspx頁面的側邊欄中有一個菜單。 我想根據查詢字符串值突出顯示當前鏈接。使用jquery突出顯示基於查詢字符串的鏈接

<div id="verticalmenu"> 
<ul> 
<li><a href="services.aspx?pageid=11">Medical Transcription</a></li> 
<li><a href="services.aspx?pageid=12">Business Transcription</a></li> 
<li><a href="services.aspx?pageid=13">Legal Transcription</a></li> 
    <li><a href="services.aspx?pageid=14">Insurance Transcription</a></li> 
    <li><a href="services.aspx?pageid=15">Data Entry & Processing</a></li> 
    <li><a href="services.aspx?pageid=16">Software Development</a></li> 
    <li> <a href="services.aspx?pageid=25">Typesetting Services</a></li> 
</ul> 
</div> 

回答

3

使用jQuery,它可能是這個樣子:

$('#verticalmenu a').each(function(){ 
    var linktext = $(this).attr('href'); 
    if (linktext.search(window.location.search.substring(1)) > -1){ 
     $(this).addClass('current'); 
    } 
}); 

使用window.location.search.substring(1)採取URL的最後一部分,並且使用了search方法檢查它,你的鏈接的href屬性JavaScript的字符串。然後爲樣式目的添加一個類名稱。例如,我使用了current

它可能需要一些調整,但這是要走的路。不過,我強烈建議做這個鏈接識別serverside。這是一個我不太引以爲傲的解決方法。

+0

location.pathname沒有返回查詢字符串 – ziaasp

+0

我編輯了我的答案。你有沒有嘗試'window.location.search.substring(1)' –

+0

非常感謝它的工作。是的,我可以從服務器端做到這一點,但我想學習jQuery這就是爲什麼我問。 – ziaasp