如何创建高性能选择器[请不要jquery]

Mar*_*wan 0 javascript unobtrusive-javascript javascript-framework

我是JavaScript纯开发人员我设计自己的框架,当我测试我的选择器模块时,我发现了一个非常大的问题,即性能

在选择器模块中我不做一个非常复杂的选择器,如jquery我做一个简单的选择我的主要原因在这里我运行我的选择器在某些情况下我必须获取页面主体上的所有元素,并且必须循环它们例如,获取特定类型的元素,如TD元素,注意>>>>不要告诉我使用getElementsByTagName('TD')因为在我的选择器中我可以让开发人员选择多于1个tagName像

getElementsByTagNames('td,tr')
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下,我必须得到所有然后循环并仅拍摄所需的项目

我发现这种方式非常有性能,另一方面jquery有一个热闹的速度选择项目不jquery做循环也或者我的主要问题是什么

如何使用JavaScript执行高性能选择器:)

谢谢

use*_*621 7

不jquery也做循环或什么

jQuery非常聪明,可以使用现有的选择器库(sizzle.js).

Sizzle 非常聪明,可以让浏览器完成工作.document.querySelectorAll诀窍.

编辑:实际上,sizzle.js曾经是jquery的固有部分,但现在是一个单独的项目