gpt4 book ai didi

jquery - 从缓存的选择器遍历 DOM 是否比在 DOM 中查找 ID 元素更快?

转载 作者:行者123 更新时间:2023-12-01 01:27:08 26 4
gpt4 key购买 nike

关于通过 class 或 id 或其他选择器查找元素是否更快,存在很多问题。我对此不感兴趣。我想知道您是否有:

var link = $(this); //let's say you're in a click handler

通过这样做找到容器是否更快

var container = link.closest('.container'); //assume container is .container

var container = $('#mycontainer'); //assume same element as above

我问这个问题不仅是针对上面的特定场景(好吧,好吧,是的,也针对这个场景),而且是针对缓存遍历与创建具有 ID 的新 jQuery 对象。我注意到在我的很多代码中我倾向于使用前一种方法(因为它可以使其更加动态),但我总是很好奇后一种方法是否更快。

谢谢

最佳答案

我认为,无论是否缓存选择器,使用 id 选择器会更快。 ID 选择器几乎是直接字典查找,而不是缓存/最接近的组合,就像字典查找,然后是树遍历。

http://jsperf.com/traverse-from-cached-selector-vs-id-selector

最快的查找将使用 native documentGetElementById 函数完成。

var container = $(document.getElementById('MyContainer'));

关于jquery - 从缓存的选择器遍历 DOM 是否比在 DOM 中查找 ID 元素更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10424975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com