$(“#content .abc”) と $(“#content”).find(“.abc”) はどちらが効率的ですか?
女神的闺蜜爱上我2017-06-26 10:52:26
$("#content").find(".abc") .find() メソッドはブラウザのネイティブ メソッド (getElementById、getElementByName、getElementByTagName など) を呼び出すため、高速です。 $("#content .abc") よりもはるかに高速です
jQuery セレクターの効率については、パフォーマンス分析 http://blog.csdn.net/cxl44490... を参照してください。
滿天的星座2017-06-26 10:52:26
テスト結果は、find の方が速いということです
その理由は、jQuery が内部的に使用するさまざまなセレクター チェーンの選択順序が右から左であるためです。そのため、このステートメントは最初に .abc を選択し、次に親要素 #content を 1 つずつフィルターして除外します。 1 つは、結果としてはるかに遅くなります。
同時に、.find() メソッドはブラウザーのネイティブ メソッド (getElementById、getElementByName、getElementByTagName など) を呼び出すため、高速になります。
2 つを比較すると、当然、検索の方がはるかに高速です。
以下はテストです: https://jsperf.com/jqueryfind...