javascript - dom 或 html 文档中理想的 id 数量

标签 javascript html dom

我一直非常专注于 javascript 和提高我网站的性能。我经常做的一件事是,动态创建元素,并使用 ID 访问这些元素。

也许你可以帮我解决一些问题。

  1. 为文档中的每个有趣节点赋予唯一 ID 的主要缺点是什么?

  2. 文档中理想的 ID 数量是多少?

  3. 文档的 ID 数量是否有上限?

  4. 在性能方面,通过 css class 获取元素是否比通过 id 获取元素慢?

谢谢大家的回答。如果您对这些关于 dom 和访问它们的问题有任何补充说明,我们将不胜感激。

谢谢。

最佳答案

除了 IE、Safari 和 Chrome 将“id”值提升到 window 属性的一个烦恼之外,我知道大量使用“id”值并没有真正的惩罚。然而,好的 JavaScript 代码应该能够处理这个问题。

注意:

  • “id”值必须在文档(页面)中保持完全唯一。不能对多个元素使用相同的“id”值。
  • 通过“id”查找比通过任何其他方式查找快得多。

在现代浏览器中,按类查找可能非常快,但这只是因为这样做的工作已被淹没在浏览器的低级支持代码中(可能由更精细的内部数据结构、缓存等支持) ).现在类名也非常重要,无论是对于简单的语义标记还是供客户端代码使用,所以我并不是说类是坏的或其他任何东西。事实上,有时完全通过“id”做事是相当愚蠢的,而使用类会引入简单性。

edit — 截至目前(2013 年底)Firefox 也为具有“id”属性的元素创建 window 属性。 :(

关于javascript - dom 或 html 文档中理想的 id 数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6151631/

相关文章:

html - 竖排文字方向

jquery - 使用 jQuery 为具有特定类的奇数行添加 css

javascript - 将 firefox-webextension 的按钮更改为 textString

javascript - 如何将Ajax返回的数据显示为HTML

Javascript:单击后更改按钮文本更改

javascript - 用jquery给输入框添加背景色目前只有TD在高亮

javascript - JSON.parse 返回 [Object object] 寻找访问对象的属性

javascript - MVC架构中鼠标输入应该由谁来分析

javascript - 悬停时CSS使图像变暗-在其周围添加一个href

java - 调用 `<script>` 时如何从 HTML DOM 内的 `element.getText()` 标记中排除文本