我知道 ID 是比 Javascript 中的类更快的选择器。但是如果我缓存选择器呢? When the selector is cached, would it differ in speed if it’s a class selector, or will it be as fast as the id selector?
例子:
<div class=”myclass”></div>
<div id=”myid”></div>
var $myclass = $('.myclass');
var $myid = $('#myid');
$myid 会比 $myclass 快吗?
最佳答案
对 DOM node
的缓存引用总是最快的方法。因此,一旦您存储了引用,如何到达那里就没有区别了。
桥梁例子
想象一下,在您的 Javascript 世界 和 DOM 世界 之间架起了一座桥梁。每次你想从 DOM 世界中的 Javascript 访问一个元素(“公民”),你需要过那座桥..但这不是免费的..你需要支付相当昂贵的通行费强壮>.
因此,您应该只走那条路一次,因此只需支付一次。
如果您知道元素的确切位置(存储在变量中),您可以立即访问它。
关于javascript - 当ID选择器缓存在jquery中时,ID选择器是否比类选择器快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5029254/