2014-11-07 99 views
2

我有幾個選項卡定義和包裝標籤。它們包含像跨度,img等幾個元素。我的想法是爲點擊標籤添加類ACTIVE並將其從前一個標籤中移除,以便在任何時間點只有一個活動。 我使用的代碼工作使用jQuery添加/刪除類

 <script> 
    $(document).ready(function() { 
     $(".tabs").click(function() { 
      $(this).toggleClass("active"); 

     }); 
    }); 

但這只是解決方案的一部分。它將標籤添加到標籤,但不會將其從以前的單擊標籤中刪除。所以如果我有3個選項卡並點擊每個選項,所有選項都會被選中。任何簡單的解決辦法?

+0

另請參閱:http://stackoverflow.com/questions/11578081/css-jquery-active-tab-selection – Kolban 2014-11-07 02:51:48

回答

3
$(".tabs").click(function() { 
    $(".tabs").removeClass("active"); 
    $(this).addClass("active"); 
}); 
+0

如果是一個標籤,也許添加一個preventDefault()會更好。 – 2014-11-07 02:28:59

0

你也可以試試這個

$(".tabs").on('click',function() { 
    $(".tabs").removeClass("active"); 
    $(this).addClass("active"); 
}); 

有關:將一個事件處理函數的一個或多個事件來選擇的元素。

+0

如果您使用'.on()'而不監聽它的原點(由第二個參數指定),那麼您可以簡單地堅持'.click()'。 – Terry 2014-11-07 02:30:55