2011-10-29 19 views
2

我有三個手動設置類的鏈接:一個默認爲.active,其他默認爲.inactive。我有一些jQuery,當它們被點擊用於CSS目的時,我正在使用它來切換鏈接的類。這適用於.inactive鏈接 - 它們切換到.active。但它不適用於默認.active鏈接。如果我點擊默認.active鏈接,它將保持不活動狀態。使用jQuery更改默認值的鏈接類

默認負載:

鏈接1 - 主動 鏈路2 - 無效 鏈路3 - 無效

點擊鏈接2:

鏈接1 - 無效 鏈路2 - 主動 鏈路3 - Inactive

點擊連接2的鏈接1:

鏈接1 - 未激活 鏈接2 - 激活 鏈接3 - 未激活

我該如何完成此循環以使其工作?

這裏是我生成HTML:

<ul id="infoContainer"> 
    <li><a href="/profiles/1/profile_cred" class="active" data-remote="true">Cred</a></li> 
    <li><a href="/profiles/1/profile_about" class="inactive" data-remote="true">About</a></li> 
    <li><a href="/profiles/1/profile_questions" class="inactive" data-remote="true">Questions</a></li> 
</ul> 

的我使用jQuery:

$(function(){ 
    var sidebar=$('#sidebar'); 
    sidebar.delegate('a.inactive', 'click',function(){ 
     sidebar.find('.active').toggleClass('active inactive'); 
     $(this).toggleClass('active inactive'); 
    }); 
}); 
+0

這是什麼意思,說默認活動保持* in * active? – pimvdb

+1

它看起來好像工作正常:http://jsfiddle.net/pimvdb/WuqNG/。點擊鏈接2然後再次1正確地切換類。 – pimvdb

回答

2

如果我不給你改正,你的選擇是過於嚴格:只處理inactive鏈接。
嘗試以下方法?

$(function(){ 
    var sidebar=$('#sidebar'); 
    sidebar.delegate('a', 'click',function(){ 
     sidebar.find('.active').toggleClass('active inactive'); 
     $(this).addClass('active').removeClass('inactive'); 
    }); 
});