假设我们要设置100个div元素的动画,然后选择所有元素并使用nodeList
和querySelectorAll
将它们存储在getElementsByClassName
中。众所周知,后者比第一个要快得多,因为第一个从一开始就需要所有dom数据。但是,querySelectorAll
是静态的,所以我想知道使用requestanimationframe
来通过它操纵dom数据有多快。
有任何想法吗?
最佳答案
如果您不添加和删除匹配的div(包括更改现有div上的类,以便它们加入或离开列表),那实际上就没有关系。一次获取列表,然后获取该列表中的动画。
如果要添加/删除匹配的div,请使用getElementsByClassName
,因为(再次),您可以一次获取列表,然后从该列表中进行操作(由浏览器不断更新)。 (如果需要支持IE8,则不是一个选择; IE8具有querySelectorAll
,但没有getElementsByClassName
。但是IE8已过时,所以...)
关于javascript - querySelectorAll动画比getElementsByClassName更快吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40959438/