我已经读到,通过切换到document.querySelectorAll()
而不是使用jQuery的本机选择器,可以显着提高性能。
对于涉及数千个元素和嵌套循环等的实例,在jQuery中执行以下操作会带来任何性能优势。
//using querySelectorAll
elems = document.querySelectorAll('.element');
$(elems).addClass("className");
相对于:
//traditional jQuery
elems = $(".element");
$(items).addClass("className");
如果不是,我们可以将其整合document.querySelectorAll
到jQuery中的方法是什么?
是的,应该可以。$(elems)
会从创建一个jQuery集合对象NodeList
,然后您可以在其上使用jQuery方法。
但是,我认为不会有您期望的那样多的好处。querySelectorAll()
可行时,jQuery已经调用了。在确定QSA是否可用于给定选择器时可能会有少量开销。但是jQuery会缓存此结果,因此,如果您经常使用选择器,则可以减轻开销。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句