$(“#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,這導致它慢很多。
同時.find()方法會呼叫瀏覽器的原生方法(getElementById,getElementByName,getElementByTagName等等),所以速度較快。
兩相比較,自然是 find 快得多了。
以下是測試:https://jsperf.com/jqueryfind...