我正在读CSS,关于偶数选择器,jQuery建议我们选择一个元素列表,使用纯jQuery选择器,然后使用filter(":even")获得更好的性能。但我认为jQuery也针对他们的:even选择器进行了优化。当我使用任何选择器时,它会在相同的时间内给出相同的结果。只有当我们有超过一百万个元素时,它才会有所不同吗?谁能解释一下:even选择器是如何工作的,为什么使用filter(":even")更好?
谢谢,Tho Vo
发布于 2013-03-13 11:17:09
为什么不测试一下呢?http://jsperf.com/even-selector
如果你正在寻找更快的东西,可以使用:nth-child(even),因为它是一个本机选择器,可以输入到document.querySelectorAll中。:even是一种特定于jQuery的伪选择器,它强制jQuery使用JavaScript遍历DOM,这几乎总是比document.querySelector慢。
发布于 2013-03-13 11:16:30
您可以找到性能测试here。正如你在results中看到的,过滤器(‘even’)更快,尽管它只有在大数据中才会明显。
https://stackoverflow.com/questions/15376388
复制相似问题