0

我有一個小小的jQuery案例。所以,我想刪除所有的塊類,但幾乎沒有例外 - 如果這個div /塊有一些類,他們每個都將被刪除,但一個不指定。我試過這樣的事情,但這不起作用。如何在jQuery中刪除具有異常的類

$('#rounded_items').removeClass(function(){ 
    $('#rounded_items').not.getElementsByClassName('small_menu'); 
}).addClass('main_menu'); 

你能幫我嗎?

+0

你能不能把它的jsfiddle如果沒有解決? – 2619 2012-08-16 11:04:26

+0

所有建築較爲複雜,且工作與阿賈克斯... :( – Lukas 2012-08-16 11:07:52

+0

也只是做一個樣品靜態示例,並把它的jsfiddle – 2619 2012-08-16 11:16:40

回答

1

的ID應該是唯一的,因此,所有你需要做的就是檢查你的目標元素沒有類刪除類之前:

var isSmall = $('#rounded_items').is('.small_menu'); 
$('#rounded_items').attr('class', isSmall ? 'main_menu' : ''); 
+0

ok了,但是這是exeption這一類,我需要即使刪除班該塊有這個類和喜歡這一個 – Lukas 2012-08-16 10:52:04

+0

mistq:離開這一個 – Lukas 2012-08-16 10:59:14

+0

不知道我得到它,但嘗試檢查,如果它首先類,然後刪除所有的類,添加類背部等 – adeneo 2012-08-16 10:59:55

2

這是一個有點不清楚你想要什麼做的,但我最好的猜測是這樣的:

$('#rounded_items:not(.small_menu)').removeClass().addClass('main_menu'); 

...這將取代剛剛main_menu所有類名與所有項目ID rounded_items(!!!)除類別small_menu

請留意,標識應該是唯一的。無法強調這一點。因此,按照ID 選擇並期望多個元素是沒有意義的,以便您可以進一步按類進行過濾。

+0

確定,但在那裏我可以把刪除的動作 – Lukas 2012-08-16 10:49:29

+0

S /應/ MUST /? - 非唯一ID將導致什麼,但問題 – ThiefMaster 2012-08-16 10:59:16

+0

@ŁukaszBorawski〜你可以IT連鎖前'.addClass'打電話。我會在一個編輯。 – 2012-08-16 11:15:51

0

使用下面的代碼

$('#rounded_items').removeClass(function(){ 
    var el = $('.small_menu'); 
    $('#rounded_items').not(el); 
}).addClass('main_menu'); 
1

你就不能檢查對象有此類不應該被刪除。如果有的話 - 刪除所有類並添加所需的類。這樣的事情:

if ($("#item").hasClass("neededClass")){ 
    $("#item").removeClass(); 
    $("#item").addClass("neededClass"); 
} 

我不知道這是你想要做的。

+0

我需要爲這個元素有兩個分離的類 – Lukas 2012-08-16 10:56:33