2012-11-13 4 views
82

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

しかし、最初hasClassを使用して、またはこのaddClassとにかくない同じ方法を使用し、したがってロジックを複製されることにより、パフォーマンスの改善がありますか?

答えて

133

.hasClass()チェックは有用ではありません.jQuery will also always check.addClass()からです。それは余分な仕事です。

11

https://github.com/jquery/jquery/blob/master/src/attributes/classes.js#L38-L45は、addClassを使用している場合にクラスが存在するかどうかを確認します。

だから、それは何のためにこのケースで.hasClass() ..(あなたは要素のクラスを持っていなかった場合はより多くのアクションを実行したい場合は、例外があることでしょう。..

+3

こんにちは、Thessalonikiと+1から - 私は '#LX-Y'トリックについて知らなかった:) – Jon

+3

Hey Jon :)これはマウスでも選択可能です。(*行番号をクリックしてshift +クリック他のすべての行を選択する.. *) –

4

を使用する理由はありません限られたテストで.hasClass()でパフォーマンスが改善されています。.removeClass()がChromeで数回遅く報告されても、1秒間に約70,000回の操作が行われます。

関連する問題

 関連する問題