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

标签 javascript javascript-framework unobtrusive-javascript

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

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

getElementsByTagNames('td,tr')

所以在这种情况下,我必须获取所有内容,然后循环并仅显示所需的项目

我发现这种方式非常消耗性能,另一方面jquery有一个令人捧腹的速度来选择项目,jquery也不做循环或者什么所以我的主要问题在这里

如何使用 JavaScript 实现高性能选择器 :)

谢谢

最佳答案

doesn't jquery do loops also or what

jQuery 足够智能,可以使用现有的选择器库 (sizzle.js)。

嘶嘶声is smart enough让浏览器完成工作。 document.querySelectorAll 就可以了。

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

关于javascript - 如何创建高性能选择器 [请不要使用 jquery],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11384043/

相关文章:

javascript - jQuery 点击事件目标填充

javascript - 通过 AJAX 获取函数

javascript - jQuery 参数和参数之间的区别

java - 使用用于数据访问的丰富 JavaScript API 开发开放式 Web 应用程序的最佳现代方式是什么?

ruby-on-rails - 在 Rails 中使用不显眼的 js 制作 Facebook Like 按钮

javascript - 在 React 中动态选择一个 json 键值对

javascript - 如何从javascript调用一个php文件?

javascript - 另一个 javascript 库上的 Angular 2 templateURL 功能

javascript - window.onload 与 $(document).ready()

javascript - Rails 3.1 中页面特定的 javascript 文件