Sizzle 和 document.querySelectorAll 有什么区别
What is the difference between Sizzle and document.querySelectorAll
据我所知,Sizzle 和 querySelector/querySelectorAll
是 CSS 选择器。
那么... loading Sizzle 和 doing 有什么区别:
Sizzle("my CSS query")
和
document.querySelectorAll("my CSS query")
此外,我知道 Sizzle returns 一个元素数组,而 querySelectorAll returns 一个 NodeList(在大多数浏览器中)。我还知道您需要加载 Sizzle,并且您只能对一个元素使用 document.querySelector
。
那么在性能上有其他差异吗?
编辑:我的问题仅关于Sizzle选择器引擎(和querySelectorAll
)。请不要涉及jQuery.
Sizzle is a pure-JavaScript CSS selector engine designed to be easily
dropped in to a host library.
他们说这是 jQuery 项目的衍生产品,但是当谈到 jQuery 和 Sizzle 之间的差异时,JQuery 是一个库构建以简化 javascript 人们发现难以理解的复杂语法,特别是初学者的网格。因此,如果您使用 JQuery,将会产生大量开销,因为 sizzlers 提供的服务相对较少。
它更喜欢使用 querySelector 而不是 Sizzler,因为它只是一个额外的开销,使用 VanillaJS 可以很容易地完成,所以为什么要浪费它。他们都做同样的事情。
Sizzle
是在 querySelectorAll
不存在的时候创建的。它的开发在 querySelectorAll
引入后继续进行,以解决 querySelectorAll
.
早期实现中的浏览器错误
Sizzle
本身尝试直接使用 querySelectorAll
并且只会使用它自己的 DOM 遍历,如果不支持选择器或者知道给定浏览器版本有错误.因此,对于现代浏览器而言,性能上应该不会有明显差异,因为在这两种情况下都会使用 querySelectorAll
。
与 querySelectorAll
相比,Sizzle
允许定义自定义伪选择器,缺点是您无法从如今 querySelectorAll
提供的性能中获益。
所以现在,如果您不需要自定义伪选择器,就不再需要 Sizzle
。仅当您需要针对已知存在错误的旧浏览器版本时才使用它。
据我所知,Sizzle 和 querySelector/querySelectorAll
是 CSS 选择器。
那么... loading Sizzle 和 doing 有什么区别:
Sizzle("my CSS query")
和
document.querySelectorAll("my CSS query")
此外,我知道 Sizzle returns 一个元素数组,而 querySelectorAll returns 一个 NodeList(在大多数浏览器中)。我还知道您需要加载 Sizzle,并且您只能对一个元素使用 document.querySelector
。
那么在性能上有其他差异吗?
编辑:我的问题仅关于Sizzle选择器引擎(和querySelectorAll
)。请不要涉及jQuery.
Sizzle is a pure-JavaScript CSS selector engine designed to be easily dropped in to a host library.
他们说这是 jQuery 项目的衍生产品,但是当谈到 jQuery 和 Sizzle 之间的差异时,JQuery 是一个库构建以简化 javascript 人们发现难以理解的复杂语法,特别是初学者的网格。因此,如果您使用 JQuery,将会产生大量开销,因为 sizzlers 提供的服务相对较少。
它更喜欢使用 querySelector 而不是 Sizzler,因为它只是一个额外的开销,使用 VanillaJS 可以很容易地完成,所以为什么要浪费它。他们都做同样的事情。
Sizzle
是在 querySelectorAll
不存在的时候创建的。它的开发在 querySelectorAll
引入后继续进行,以解决 querySelectorAll
.
Sizzle
本身尝试直接使用 querySelectorAll
并且只会使用它自己的 DOM 遍历,如果不支持选择器或者知道给定浏览器版本有错误.因此,对于现代浏览器而言,性能上应该不会有明显差异,因为在这两种情况下都会使用 querySelectorAll
。
与 querySelectorAll
相比,Sizzle
允许定义自定义伪选择器,缺点是您无法从如今 querySelectorAll
提供的性能中获益。
所以现在,如果您不需要自定义伪选择器,就不再需要 Sizzle
。仅当您需要针对已知存在错误的旧浏览器版本时才使用它。