据我所知,嘶嘶声和querySelector/querySelectorAll
是 CSS 选择器。
那么...加载 Sizzle 和执行以下操作有什么区别:
Sizzle("my CSS query")
and
document.querySelectorAll("my CSS query")
另外,我知道 Sizzle 返回一个元素数组,而 querySelectorAll 返回一个 NodeList(在大多数浏览器中)。我还知道您需要加载 Sizzle 并且可以使用document.querySelector
仅针对一个元素。
那么有没有other性能差异?
EDIT: 我的问题is only关于 Sizzle 选择器引擎(以及querySelectorAll
)。请不要涉及 jQuery。
Sizzle
创建于querySelectorAll
不存在。并在引入后继续发展querySelectorAll
通过早期实现来解决浏览器错误querySelectorAll
.
Sizzle
本身尝试直接使用querySelectorAll
如果选择器不受支持或已知对于给定的浏览器版本有错误,则只会使用自己的 DOM 遍历。因此,对于现代浏览器来说,性能上不应该有明显的差异,因为querySelectorAll
在这两种情况下都会使用。
相比querySelectorAll
, Sizzle
允许定义自定义伪选择器,但缺点是您无法从性能中受益querySelectorAll
如今提供。
所以现在如果你不需要自定义伪选择器,那么就没有真正的需要Sizzle
不再了。仅当您需要定位已知有问题的旧浏览器版本时,您才会使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)