$(“#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 등)를 호출하므로 속도가 더 빠릅니다.
둘을 비교하면 당연히 찾기가 훨씬 빠릅니다.
다음은 테스트입니다: https://jsperf.com/jqueryfind...