搜尋

首頁  >  問答  >  主體

javascript - $(“#content .abc”) 和 $(“#content”).find(“.abc”) 哪個效率比較高?

$(“#content .abc”) 和 $(“#content”).find(“.abc”) 哪個效率比較高?

天蓬老师天蓬老师2706 天前931

全部回覆(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,這導致它慢很多。
    同時.find()方法會呼叫瀏覽器的原生方法(getElementById,getElementByName,getElementByTagName等等),所以速度較快。
    兩相比較,自然是 find 快得多了。

    以下是測試:https://jsperf.com/jqueryfind...

    回覆
    0
  • 滿天的星座

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

    第二種比較快

    回覆
    0
  • 取消回覆