2013-03-28 73 views
1

我有一個UL與類「翼片」的 一個裏有一類的「活動」jQuery的動態標籤的顏色(除了一個標籤)

如用戶點擊「活性」標籤明顯改變使用不同的選項卡,因此其顏色與其他顏色不同。

我想要做的是選擇活動的「標籤」UL EXCEPT中的所有Li,並通過爲每個附加CSS背景來爲每一個設置不同的顏色。 標籤的數量可能會有所不同,具體取決於他們在IE上的頁面一個頁面可能有四個標籤,但另一個可能有6或7.

如果我抓住他們,我不會有問題,但我不知道如何去嘗試和排除活動選項卡,因爲我已經計劃使用N將包括活動選項卡?

任何幫助表示讚賞。

+0

你使用的是jQuery UI選項卡嗎?或只是jQuery與你自己的標籤設置 – hammus 2013-03-28 09:54:43

+0

我想用我自己的標籤設置jQuery的 – John 2013-03-28 09:58:49

回答

2

您可以使用.not()

$('ul.tabs li').not('.active').css({ ... }); 

然後,您可以遍歷它們使用.each()

$('ul.tabs li').not('.active').each(function() { ... }); 

編輯:假設,然後,你必須確定哪些選項卡應具有的一些方式,也背景,這裏是一個使用的例子:JSFiddle

+0

你還沒有明白我的問題。這就是我已經有的,而不是我所問的 – John 2013-03-28 09:59:46

+0

我想你在評論我編輯我的答案時。 – 2013-03-28 10:01:34

+0

@John我現在已經添加了一個JSFiddle示例來展示這個使用。 – 2013-03-28 10:09:42

0

假設「活動」是當標籤容器被點擊並且所有標籤都有類似「class」的東西時,應該就足夠了。

$(".tab").each(funciton() { 
    if (!$(this).hasClass("active")) 
    { 
      $(this).addClass("myBackground"); 
    } 
}); 
+0

以上的答案(不是我的)是更好的方式:) – hammus 2013-03-28 09:58:12

+0

我如何有第一個李不是積極設置爲藍色,然後第二個李不是積極的紅色,然後第三個李不是積極的綠色使用這種方法?也許我沒有正確地關注你,或者我沒有解釋得很好 – John 2013-03-28 10:01:19