2011-11-07 44 views
1

因爲jQuery 1.4 removeClass();現在將一個函數作爲參數。如何使用removeClass()回調函數?

<body>標籤中添加了幾節課,例如:

<body class="heading-helvetica para-georgia pattern-flowers"> 

我希望能夠更換的類名,並相信在removeClass()功能可以幫助我,但我不」我真的不明白the documentation on the jQuery site也不是我對Regex有什麼好處。

如何將heading-helvetica替換爲heading-myriadpara-georgiapara-times等等?

我以前曾用這樣的事情,它的工作原理,只有當它試圖替換類名是類名的列表中的第一:如果你要處理他們所有

$('#headings li').click(function(){ 
    var this_class = $(this).attr('id'); 
    $('body[class|="heading"]').removeClass(); 
    $('body').addClass(this_class); 
}); 
+0

'$( '東西')removeClass( '標題下,黑體')addClass( '標題下,無數');'。有沒有什麼理由不適合你? – rossipedia

回答

2

您將需要從body標籤得到類列表和循環/解析。

請參閱此文章瞭解如何獲取課程。

Get class list for element with jQuery

你必須弄清楚類的列表添加和類刪除列表。使用函數作爲removeClass方法的參數並不是必須的。由於您還需要添加類,因此可能是錯誤的方法。

+0

Pefect。我做了一些變化,並得到它很好地工作。謝謝! –

0

,你可以使用.attr()代替。例如:

var prev = $("body").attr('class'); $("body").attr('class', prev.replace('helvetica', 'myriad'));

這是相當廣泛的,雖然,這取決於你在做什麼,你可能對removeClass()addClass()更好。