dom或html文档中理想的ID数

问题描述

| 我一直非常专注于javascript和改善网站的性能。我经常做的一件事是,动态创建元素,并使用id访问这些元素。 也许您可以帮我解决一些问题。 为文档中的每个有趣节点提供唯一ID的主要缺点是什么? 文档中理想的ID数是多少? 文档是否有最大数量的ID? 就性能而言,通过CSS类获取元素的速度是否比通过ID获取元素的速度慢? 谢谢你们的回答。如果您对这些有关dom和访问它们的问题有任何其他注释,将不胜感激。 谢谢。     

解决方法

        我不知道自由地使用\“ id \”值不会带来任何真正的损失,除了IE,Safari和Chrome的一个烦人之处是将\“ id \”值提升为
window
属性。好的JavaScript代码应该可以解决这个问题。 注意: \“ id \”值必须在文档(页面)中保持完全唯一。对于多个元素使用相同的“ id”值是不正确的。 通过“ id”进行查找比通过任何其他方式进行查找要快得多。 在现代的浏览器中,按类进行查找的速度可能很快,但这仅是因为其工作已被淹没在浏览器的低级支持代码中(可能由更精细的内部数据结构,缓存等支持) )。现在,类名称对于简单的语义标记和供客户端代码使用也非常重要,因此我并不是说类是坏的或其他任何东西。实际上,有时候使用\“ id \”专门做事会很愚蠢,而使用类会带来简单性。 编辑-截至(2013年底),Firefox也会为具有\“ id \”属性的元素创建creates0ѭ属性。 :(     ,         除了可能发生值冲突(以及Pointy共享的值)之外,给每个元素一个id没有任何缺点。 不管您使用多少 一个页面上可以有多少个具有id的元素没有限制(与上面相同) 由于ID是唯一的,因此速度会更快-但是您将失去使用多个值或将相同值应用于多个元素的类的优势。例如,如果您想使用javascript通过类名选择多个元素,而不是列出多个ID。特别是对于CSS,速度的提高通常不会引起注意。 具有ID的元素还具有其他一些与JavaScript不相关的优点,例如直接超链接到该元素。通常,除非我确实有必要,否则我最好避免使用id乱码,例如:使用需要与javascript交互的数据库中的动态内容。 为了解决您的性能问题,效率低下的选择器很少会给您带来严重的问题。尽管优化很不错,但我不会竭尽全力为您提供每个可能为此选择ID的元素。大多数性能问题是由于其他因素造成的,例如在执行AJAX请求时数据库查询缓慢,或者一次运行大量动画,或者通常是效率低下的javascript。