2011-08-18 72 views
0

我想根據URL設置所選菜單錨點上的類。下面我有actionlinks如何獲得MVC ActionLink在JQuery中的完整路徑

@Html.ActionLink("Home","Index","Home" new {type="new task"},null) 
@Html.ActionLink("Home","Index") 

我需要得到它的jQuery的FULLPATH改變根據網址選擇以下鏈接

$("a").each(function() { 
if (location.indexOf($(this).prop('href')) != -1) { 
          $(this).addClass('mlnkactive').siblings().removeClass('mlnkactive'); 
         $(this).parent().addClass('mlnkactive').siblings().removeClass('mlnkactive'); 
}); 

問題給出是,當我得到的鏈接的HREF使用$(this).prop('href'),上述兩個Home鏈接都具有相同的href。因此選擇了兩個錨,並且我無法根據URL在所選鏈接上設置類。

感謝,

回答

1

你爲什麼不添加一個CSS類選擇的鏈接服務器側(ActionLink的)?

<div id="menulinks"> 
    @Html.ActionLink("Home","Index","Home" new {type="new task"}, new { @class = "mlnkactive" }) 
    @Html.ActionLink("Home","Index") 
</div> 

然後刪除類並將其添加到新的選定的鏈接客戶端?像這樣:

$('#menulinks a').click(function(){ 
    $('#menulinks a').removeClass('mlnkactive'); 
    $(this).addClass('mlnkactive'); 
} 
+0

我想要一個通用的解決方案。我有14菜單items..4菜單項指向同一頁與不同querystring ..問題是,在jQuery中href屬性返回相同的字符串'/ Home /',並跳過查詢字符串部分..所有錨與相同的路徑被選中。我不想硬編碼和檢查每個錨對查詢字符串或什麼。應該有一些辦法來處理它 – Tepu

0

也許嘗試用戶正常與@ Url.Action內href屬性。例如:

<a href="@Url.Action("action_name", "controller", new { action_parametr_name = action_parameter_value})">Link 1</a> 
+0

我試過這個,但它產生了相同的結果.. – Tepu

相關問題