2013-03-19 73 views
3

大家好。我正在使用jQuery,我想用jQuery替換DIV上的類。 我知道我可以代替類是這樣的:如何用jQuery替換類

$('#div').removeClass('first').addClass('second'); 

但是,當我知道第一類的名字,我只能用這個。就我而言,我不知道第一個類的名字,因爲它是動態的。

回答

6

您可以使用attr()設置類,它會在寫上一類

$('#div').attr('class', 'second'); 

您可以撥打removeClass不帶參數

$('#div').removeClass().addClass('second'); 
+0

否決權的理由? – Adil 2013-03-19 10:30:23

+0

不確定它是跨瀏覽器安全使用'attr(「class」,...)'。 – andlrc 2013-03-19 10:31:38

+2

第二個選項完美地正確工作,是一個合適的回答問題 - Downvotes應該支持的原因恕我直言,否則這對每個人都無益。 – MyStream 2013-03-19 10:32:42

4

當你調用removeClass不帶參數,這將刪除所有分類

$("#div").removeClass().addClass('second'); 
+0

@Kabir試試這個工作對我來說 – PSR 2013-03-19 10:30:38

+0

謝謝@PSR它的作品。 – Kabir 2013-03-19 10:35:40

+0

我已經投票給你+1,但Adil的解決方案也是正確的,我只能接受一個答案:) – Kabir 2013-03-19 10:40:43

0

試試這個:

$("#div").removeAttr('class'); 
$('#div').attr('class','second'); 

第一行會移除CALSS屬性,第二將添加一個類名稱第二

+0

如果你刪除class屬性如何添加class – PSR 2013-03-19 10:30:12

0

嘗試這種情況:

$('#div').removeAttr('class').attr('class', 'second'); 
0

的toggleClass()方法中添加和刪除一個或多個之間進行切換所選元素的類名稱。

此方法檢查每個元素的指定類名稱。如果缺失,則添加類名稱,如果已設置,則刪除類名稱 - 這會創建切換效果。

$("#div").toggleClass(second,function(index,first),TRUE)