假设我们要设置100个div元素的动画,然后选择所有元素并使用nodeListquerySelectorAll将它们存储在getElementsByClassName中。众所周知,后者比第一个要快得多,因为第一个从一开始就需要所有dom数据。但是,querySelectorAll是静态的,所以我想知道使用requestanimationframe来通过它操纵dom数据有多快。

有任何想法吗?

最佳答案

如果您不添加和删除匹配的div(包括更改现有div上的类,以便它们加入或离开列表),那实际上就没有关系。一次获取列表,然后获取该列表中的动画。

如果要添加/删除匹配的div,请使用getElementsByClassName,因为(再次),您可以一次获取
列表,然后从该列表中进行操作(由浏览器不断更新)。 (如果需要支持IE8,则不是一个选择; IE8具有querySelectorAll,但没有getElementsByClassName。但是IE8已过时,所以...)

关于javascript - querySelectorAll动画比getElementsByClassName更快吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40959438/

10-13 00:03