javascript - 当ID选择器缓存在jquery中时,ID选择器是否比类选择器快

标签 javascript jquery selector

我知道 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/

相关文章:

javascript - Angular - 'Could not find HammerJS'

javascript - 为什么我无法设置该音频的playbackRate?

javascript - 传递参数 jquery.load

javascript - 在 addClass 中使用时 addEventListener 不起作用

jquery - 如何对 anchor 标记内的无序列表进行排序

javascript - 如何更改 jQuery 默认上下文?

javascript - AngularJS - 从代码重定向到另一个域

CSS 属性选择器覆盖现有样式

javascript - 如何使用jquery获取变量中元素的文本?