2017-05-23 45 views
1

林與一些標籤有一個小問題,我試圖改變圖標上的減號圖標時,它不加上圖標,如果這是有道理的。點擊標籤時如何更改圖標?

我已經把它變成減號按鈕,當你點擊它,但它不會改變回來,當你點擊另一個選項卡。

$('ul.nav-tabs li').click(function(){ 
    $(this).find('i.tabIcon').removeClass('fa-plus').addClass('fa-minus'); 
    $('ul.nav-tabs li:not(active)').removeClass('fa-plus').addClass('fa-minus'); 
}); 

enter image description here

任何幫助,將不勝感激。

+4

您使用哪個選項卡庫? –

+1

你能分享標籤html嗎? –

+0

如果您使用的是jQuery UI選項卡,那麼當您更改選項卡時會觸發一個事件。 https://api.jqueryui.com/tabs/#event-activate –

回答

2

一種方法是去掉負號上的所有圖標,與+符號代替它們,那麼減號加起來也只有已經被點擊了該li的圖標:

//Store as variable outside the function so we don't have to keep looking them up each 
// time any of the li is clicked. 
var $tabIcons = $('ul.nav-tabs li i.tabIcon'); 
$('ul.nav-tabs li').click(function(){ 

    //remove - from all icons, add +. 
    $tabIcons.removeClass('fa-minus').addClass('fa-plus'); 

    //remove + from this tab icon, add -. 
    $(this).find('i.tabIcon').removeClass('fa-plus').addClass('fa-minus'); 
});