首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用id检索DOM元素成本高吗?

用id检索DOM元素成本高吗?
EN

Stack Overflow用户
提问于 2012-01-20 19:43:23
回答 1查看 2K关注 0票数 3

据说DOM遍历成本很高,所以您应该尽可能地避免它。但是,我认为,通过id检索DOM元素的成本必须非常低,因为大多数浏览器可能有一个表,该表在内部将元素与id关联。因此,我们几乎总是可以忽略此操作的性能成本。这样做不对吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-01-20 19:53:43

Chrome和Firefox似乎为ID创建了一个映射,但至少在ie8中,浏览器似乎仍然存在性能问题。Mike运行了一些基准测试,这至少意味着IE没有使用数组映射,因此它的性能严重受损:

JavaScript: document.getElementById slow performance?

引用如下:

如下所示(对于一个包含10,000个元素的页面):

IE8 getElementById: 0.4844 ms IE8 id数组查找: 0.0062 ms

Chrome getElementById: 0.0039 ms Chrome id数组查找: 0.0006 ms

他接着说FF和铬差不多。当然,在大多数情况下,.5ms几乎不需要担心,但是对于大型树和频繁调用来说,这可能会成为一个问题(一些人已经指出,您可以通过JS为基于ID的元素创建缓存系统,这将大大提高某些浏览器的性能)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8947001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档