2

ドキュメントから:

$(selector, context)メソッドを内部的に実装し.find()ます。

しかし、次のようなセレクターを作成する場合。

$('#a .b .c')

また

$('#a > .b > .c')

これはメソッドを実装しています.find()か?またはこれに使用される他のメカニズムjQuery。

この解析メカニズムについて明確にしてください。

4

1 に答える 1

5

document.querySelectorAll()最新の実装では、ブラウザーがセレクターをCSSセレクターとして解析しようとする場所にセレクターを渡します(有効であると想定)。

それができない場合、jQueryは独自のセレクターエンジンであるSizzleにフォールバックします。このエンジンは、子孫セレクターと兄弟セレクターを実装するときに内部メソッドと計算を使用してDOMをトラバースします。これは、不要なオーバーヘッドが発生するようなメソッドを使用しない可能性があります。.find()

于 2012-09-18T07:07:10.673 に答える