$(“#content .abc”) 和 $(“#content”).find(“.abc”) 哪個(gè)效率比較高?
歡迎選擇我的課程,讓我們一起見(jiàn)證您的進(jìn)步~~
$(“#content”).find(“.abc”) .find()方法會(huì)呼叫瀏覽器的原生方法(getElementById,getElementByName,getElementByTagName等等),所以速度較快。比$(“#content .abc”) 效率快很多
關(guān)於jQuery 選擇器效率 可以參考下效能分析 http://blog.csdn.net/cxl44490...
測(cè)試結(jié)果是find 比較快
原因在於jQuery 內(nèi)部使用各種選擇器鏈條的選擇順序是從右到左,所以這條語(yǔ)句是先選.abc,然後再一個(gè)個(gè)過(guò)濾出父元素#content,這導(dǎo)致它慢很多。
同時(shí).find()方法會(huì)呼叫瀏覽器的原生方法(getElementById,getElementByName,getElementByTagName等等),所以速度較快。
兩相比較,自然是 find 快得多了。
以下是測(cè)試:https://jsperf.com/jqueryfind...