如果元素没有ID,DOM搜索会更快吗?

时间:2012-06-09 00:58:11

标签: performance dom

我有一个包含数千个元素的页面。如果我将具有ID的元素数量保持在最小值,或者它没有区别,浏览器是否会更有效地工作(例如,getElementById)?

感谢。

1 个答案:

答案 0 :(得分:1)

通常,DOM被加载到专门的树状数据结构中,并且树被设计用于快速查找。因此,一旦页面在内存中,所有搜索都将非常快速。如果文件大小较小,加载/解析会更快,即没有ID = less chars = less 字节。但是一旦把它全部加载到内存中,它就没那么重要了。

它还取决于浏览器的JavaScript引擎为getElementById()方法实现的算法类型。我确信Chrome的功能与IE或FF不同,反之亦然。我不担心这部分,因为你无法控制每个供应商如何实现他们的浏览器。

重点是,尝试并保持较小的文件大小。支持短节点名称和ID而不是长节点名称和ID,因为毕竟在解析/搜索过程中的某个步骤发生了字符串匹配。