搜索

首页  >  问答  >  正文

javascript - $(“#content .abc”) 和 $(“#content”).find(“.abc”) 哪个效率更高?

$(“#content .abc”) 和 $(“#content”).find(“.abc”) 哪个效率更高?

天蓬老师天蓬老师2709 天前937

全部回复(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
  • 取消回复