2017-06-04 31 views
0

変数を使用して静的セレクタを格納しようとしていますが、特定のスコープで2回以上使用しています。どちらが効率的ですか?繰り返されるセレクタやより簡潔なセレクタの変数

  • これらの変数は、すべての関数定義とイベントリスナーがjqueryの$(function(){ });スコープに直接存在するため、グローバル変数となります。
  • 複数の要素が選択される必要があるときに、あまりにも多くのIDが悪い可能性があります。
  • 非クラスでもid(rare)でも、私はjQueryで少し複雑なセレクタを使用していますが、DOMを横断するjsとして使用しています。

効率化のために、私は新しいセレクタを毎回行う必要があり、それらは、常にグローバルではない必要、またはIDとクラスのような迅速なもののいくつかのためになります最高のスコープ内のすべての繰り返しのセレクタを保存することが最善です?

tagNameセレクタが非効率的であることに気付きました。これらのID /クラスを与えたり、tagNameセレクタを一度作成してvarに格納し、そのvarを繰り返し使用してください。

これは静的な要素のみに関するものであり、DOMを変更するには、新しい要素を含めるために新しいセレクタが必要です。

+2

あなたが意味することを理解すれば、キャッシュは常に良いです。ですから、 'var selected = $(" selected selected ")は毎日jqueryで選択するよりも優れています。 https://code.tutsplus.com/tutorials/10-ways-to-instantly-increase-your-jquery-performance--net-5551 –

+0

あなたはすでにスピードの懸念があるのですか?おそらく早すぎる最適化のケースです。 – xDreamCoding

+0

@xDreamCodingスピードは大きな問題ではありません。しかし、改善がいくつかあります。プロジェクトが終了したら、展開されたバージョンですべての改善が行われるはずです。 – wordSmith

答えて

1

キャッシングは常に優れています。だから、は毎回$("#selected").doSomething()のjqueryでそれを選択するよりも優れています。

から:高い範囲でそれを格納するようhttps://code.tutsplus.com/tutorials/10-ways-to-instantly-increase-your-jquery-performance--net-5551

、効率/スピードはおそらく、その呼ばれる頻度によって決まります。だから、それがロットを使用している場合は、それをより高い範囲に入れてください。

関連する問題