我有一个包含无数元素的页面。如果我将具有 ID 的元素数量保持在最低限度,浏览器是否会更有效地工作(例如,getElementById),还是没有区别?
谢谢。
通常,DOM 被加载到一个专门的树状数据结构中,而树是为快速查找而设计的。所以一旦页面在内存中,所有的搜索都会很快。如果文件较小,加载/解析会更快,即没有 IDs=less chars=less Bytes。但是一旦它们全部加载到内存中,它就无关紧要了。
它还取决于浏览器的 JavaScript 引擎为 getElementById() 方法实现的算法类型。我确信 Chrome 的做法与 IE 或 FF 不同,反之亦然。我不会担心这部分,因为您无法控制每个供应商如何实现他们的浏览器。
要点是,尽量保持文件较小。短节点名称和 ID 优于长节点名称和 ID,因为毕竟,字符串匹配发生在解析/搜索过程的某个步骤。