2012-11-13 38 views
82

我所遇到下面的腳本,檢查元素是否擁有a類,如果沒有,添加它:如果它已經存在我應該在「addClass」之前使用「hasClass」嗎?

if (!$("div").hasClass("a")){ 
    $("div").addClass("a"); 
} 

在jQuery不會添加的類別,這可能被更改爲:

$("div").addClass("a"); 

然而,是否有任何性能改進通過使用hasClass第一,或此使用哪個addClass做同樣的方法無論如何,因此複製邏輯?

回答

11

您可以在源代碼中看到:https://github.com/jquery/jquery/blob/master/src/attributes/classes.js#L38-L45他們在使用addClass時會檢查類是否存在。

因此沒有理由用在這種情況下,.hasClass() ..(一個例外是,如果你想執行多個操作元素沒有類..

+3

你好,來自Thessaloniki和+1 - 我不知道'#LX-Y'技巧:) – Jon

+3

嘿喬恩:)它也可以選擇鼠標..(*點擊行號和shift +點擊在另一個選擇所有行.. *) –

相關問題