検索

ホームページ  >  に質問  >  本文

$("#content .abc") と $("#content").find(".abc") ではどちらの方が効率的ですか?

$(“#content .abc”) と $(“#content”).find(“.abc”) はどちらが効率的ですか?

天蓬老师天蓬老师2736日前966

全員に返信(4)返信します

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-26 10:52:26

    $("#content").find(".abc") .find() メソッドはブラウザのネイティブ メソッド (getElementById、getElementByName、getElementByTagName など) を呼び出すため、高速です。 $("#content .abc") よりもはるかに高速です
    jQuery セレクターの効率については、パフォーマンス分析 http://blog.csdn.net/cxl44490... を参照してください。

    返事
    0
  • PHP中文网

    PHP中文网2017-06-26 10:52:26

    リーリー

    返事
    0
  • 滿天的星座

    滿天的星座2017-06-26 10:52:26

    テスト結果は、find の方が速いということです
    その理由は、jQuery が内部的に使用するさまざまなセレクター チェーンの選択順序が右から左であるためです。そのため、このステートメントは最初に .abc を選択し、次に親要素 #content を 1 つずつフィルターして除外します。 1 つは、結果としてはるかに遅くなります。
    同時に、.find() メソッドはブラウザーのネイティブ メソッド (getElementById、getElementByName、getElementByTagName など) を呼び出すため、高速になります。
    2 つを比較すると、当然、検索の方がはるかに高速です。

    以下はテストです: https://jsperf.com/jqueryfind...

    返事
    0
  • 滿天的星座

    滿天的星座2017-06-26 10:52:26

    2番目の方が速い

    返事
    0
  • キャンセル返事