2010-11-20 30 views
3

我有四個html元素,當點擊時,我想有一個特定的類適用於。問題在於,這個班級在任何時候都只是四個班級中的一個。我想要點擊一個元素時,將該類從其他三個元素中刪除並應用到被點擊的元素。如果我將一個循環從每個元素中移除該類,然後將該類應用於單擊的元素,那麼會在沒有該類的元素上出現錯誤?當您使用jQuery .removeClass()時,它會在沒有該類的元素上運行時返回錯誤嗎?

+1

老兄,不會有任何問題。 Jquery負責空檢查。如果你有課,它會做,否則它不會這樣做。 – kobe 2010-11-20 20:16:27

+0

@gov太好了,謝謝。你應該發表你的評論作爲答案,所以我可以標記你爲答案。 – chromedude 2010-11-20 20:17:31

+0

老兄,我做到了。 – kobe 2010-11-20 20:19:01

回答

5

@chrome dude,不會有任何問題。 Jquery負責空檢查。如果你有課,它會做,否則它不會這樣做。

3

4

號的removeClass()函數返回的jQuery(相同jQuery對象它被調用的),如果該類不存在,不會做任何事情。不過,你真的只需要從擁有它的元素中刪除類。

$('a').click(function() { 
    $('a.foo-class').removeClass('foo-class'); 
    $(this).addClass('foo-class'); 
}); 
+0

事情是,它不是正面哪個元素已經有了這個類 – chromedude 2010-11-20 20:19:56

+1

@chromedude - 這個例子假設你只使用錨標籤,如果你使用別的東西或者額外的標籤,或者類只針對你的元素關心,忽略標籤選擇器,只使用類選擇器,沒有必要循環沒有類的元素。 – tvanfosson 2010-11-20 20:22:13

+0

@tvanfosson好吧,感謝 – chromedude 2010-11-20 20:25:36

相關問題