これは好奇心の問題です。次の場合:
$('.selector1, .selector2').doSomething()
jQueryはDOMを完全に2回トラバースして、各セレクターに一致するオブジェクトの各セットを取得しますか、それともDOMの1回のトラバースですべての要素を検索しますか?
これは好奇心の問題です。次の場合:
$('.selector1, .selector2').doSomething()
jQueryはDOMを完全に2回トラバースして、各セレクターに一致するオブジェクトの各セットを取得しますか、それともDOMの1回のトラバースですべての要素を検索しますか?
それは本当にブラウザに依存します。新しいブラウザーでは、すべての DOM クエリに document.querySelectorAll を使用します (内部では、クラスに対して document.getElementsByClassName を呼び出します)。これをサポートしていない古いブラウザでは、それを独自に判断する必要があり、明らかに遅くなります。
一般に、最初に ID で検索する (または少なくとも範囲を狭める) ことをお勧めします。クラスとタグの名前は、スピードの次です。基本的には、ネイティブにサポートされている DOM 操作が最適です。
以下を使用して、ネイティブブラウザ機能を使用してこれを見つけると思います。
document.getElementsByClassName()