2012-11-11 41 views
2

我想在jQuery來實現,一旦連接上的用戶點擊,如Feedback.aspxDefault.aspxliselect屬性將被刪除,將被添加到Feedback.aspxliJQuery的搜索和DOM

<ul id="main_menu" class="main_menu ui-sortable"> 
      <li class="limenu select"><a href="Default.aspx"><span class="ico gray shadow home"></span><b style="">Home</b></a></li> 
      <li class="limenu"><a href="OnlineUsers.aspx"><span class="ico gray shadow messenger"></span><b style="">Who is online?</b></a></li> 
      <li class="limenu"><a href="Feedback.aspx"><span class="ico gray shadow hand_thumbsup"></span><b style="">Feedback</b></a></li> 
      <li class="limenu"><a href="About.aspx"><span class="ico gray shadow info"></span><b style="">About</b> </a></li> 
      <li class="limenu"><a href="UserDetails.aspx"><span class="ico gray shadow user"></span><b style="">User Details</b> </a></li> 
      <li class="limenu"><a href="ChangePassword.aspx"><span class="ico gray shadow password"></span><b style="">Change Password</b></a></li> 
      <li class="limenu"><a href="Login.aspx"><span class="ico gray shadow power"></span><b style="">Logout</b> </a></li> 
     </ul> 
更換

編輯:我的新網址被打開,所以我需要找到Feedback.aspx在添加新的頁面select

+0

取決於新的URL是否被打開,或者鏈接激活同一頁面加載的AJAX內容。 – charlietfl

回答

2

這應該這樣做:

$('li.limenu a').click(function(){ 
    $('li.limenu').removeClass('select'); 
    $(this).parent().addClass('select'); 
}); 

Demonstration

我在這個例子中添加e.preventDefault不跟隨鏈接,我想你的示例使用默認的目標類似的效果。

如果您要改變頁面,最簡單的辦法是檢查在打開什麼網頁:

$(function(){ 
    var pathtokens = document.location.pathname.split('/'); 
    var page = pathtokens[pathtokens.length-1]; 
    $('li.limenu').removeClass('select'); 
    $('li.limenu a').each(function(){ 
     if ($(this).attr('href')==page) $(this).parent().addClass('select'); 
    }); 
}); 
+0

每OP更新這將工作阿賈克斯內容不是新的頁面加載 – charlietfl

+0

@charlietfl謝謝。我看到了更新,並相應地更新了我的答案。 –

+0

@dystroy ..次要引用問題''page'' as string not variable – charlietfl