1 が 2 より速いのはなぜですか?
$('#p1').find('span');$('#p1 span');
1 が 2 より速いのはなぜですか?
$('#p1').find('span');$('#p1 span');jQuery 1.4では、セレクターがセレクターであるかどうかがチェックされますid(あなたのような#p1)。
document.getElementId(...)が呼び出され、結果が jQuery ユーティリティ オブジェクトにラップされて返されます。あなたの場合、おそらく #1 は #2 よりも高速ですが、反復回数と検索する要素の数によっては、他のシナリオでは #2 が #1 よりも高速になる可能性があります。
例: に 3 つspanの要素があり、他の要素#p1がない場合、find はそれほど多くの CSS マッチングを行おうとしないため、#1 は #2 よりも高速になると思います。しかし、1000 個spanの要素と 2000 個の他の要素#p1がある場合、すべての要素を 2 回反復する必要がないため、#2 の方が高速であるに違いありません。