gpt4 book ai didi

javascript - jQuery/javascript 缓存元素以提高效率?

转载 作者:太空狗 更新时间:2023-10-29 15:12:18 26 4
gpt4 key购买 nike

是的,所以我想常识是对于您将要经常访问的元素,最好的方法是像这样缓存它们:

var myEl = $('.myclass');

然后您以后就可以访问 $(myEl) 而不需要再次搜索 DOM,对吗?好吧,假设我有一个相当复杂的 html 结构,我需要经常访问几个不同的元素,比如 20-30。这种事情做 30 次是非常丑陋的!

var elA = $('.myela'),
elB = $('.myelb');

等等等等,你明白了..那么这样做有什么“不好”的地方吗,在所有这些元素上保持相同的类,但给它们一个唯一的 id,然后这样做:

var myElementObject={};
$('.myelems').each(function(){
myElementObject[$(this).attr('id')] = $(this);
});

这样就好像我得到了一个 object.whateverId,这就是缓存的元素,所以现在我可以随心所欲地使用它们,而无需一直重新查询 DOM,这个假设是否正确,这是一种不好的做法吗?你们是怎么做到的?

谢谢!

最佳答案

如果您要分配 id,则只需使用 $('#id') 因为它使用 getElementById 非常快而且可能不会慢很多而不是将它们放在某个对象哈希中。

还可以考虑对这些元素应用一个公共(public)类或以其他方式对它们进行分组,以便您可以缓存 $('.mycommonclass')

关于javascript - jQuery/javascript 缓存元素以提高效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5011403/

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