$(“#content .abc”) or $(“#content”).find(“.abc”)?
女神的闺蜜爱上我2017-06-26 10:52:26
$("#content").find(".abc") The .find() method will call the browser's native methods (getElementById, getElementByName, getElementByTagName, etc.), so it is faster. Much faster than $("#content .abc")
About jQuery selector efficiency, you can refer to the performance analysis http://blog.csdn.net/cxl44490...
PHP中文网2017-06-26 10:52:26
console.time('1')
$("#content .child")
console.timeEnd('1')
console.time('2')
$("#content").find('.child')
console.timeEnd('2')
1: 0.908935546875ms
2: 0.147705078125ms
简单测试第二种快点
滿天的星座2017-06-26 10:52:26
The test result is that find is faster
The reason is that the selection order of various selector chains used internally by jQuery is from right to left, so this statement first selects .abc, and then filters out the parent element #content one by one, which results in It's much slower.
At the same time, the .find() method will call the browser's native methods (getElementById, getElementByName, getElementByTagName, etc.), so it is faster.
Comparing the two, naturally find is much faster.
The following is the test: https://jsperf.com/jqueryfind...