HTML id的实际最大长度是多少?

时间:2009-02-24 23:53:04

标签: javascript html css

HTML spec

ID和NAME令牌必须以字母([A-Za-z])开头,后跟任意数量的字母,数字([0-9]),连字符(“ - “),下划线(”_“),冒号(”:“)和句点(”。“)。

即使HTML 4的SGML declaration对NAMELEN使用值65536,它也会注意到“避免使用固定限制。”

但肯定的是,浏览器,CSS实现和JavaScript工具包必须对它们支持的长度有一些限制。在HTML / CSS / JS应用程序中可以安全使用的最小限制是什么?

4 个答案:

答案 0 :(得分:194)

刚刚测试过: 1M 字符适用于所有现代浏览器:Chrome1,FF3,IE7,Konqueror3,Opera9,Safari3。

我怀疑更长的身份证会变得难以记住。

答案 1 :(得分:14)

对我来说,一个实际的限制是,在我使用HTML / CSS的过程中,我可以在脑中存储一个ID。

此限制通常介于8到13个字符之间,具体取决于我工作了多长时间以及这些名称在元素的上下文中是否有意义。

答案 2 :(得分:1)

有时候我会得到很长的ID,但我会将它们命名为与其确切目的相符。

例如......

<div id="page">
    <div id="primary-content"></div>
    <div id="secondary-content"></div>
    <div id="search-form-and-primary-nav-wrapper">
        <form id="search-form"></form>
        <ul id="primary-nav">
            <li id="primary-nav-about-us"></li>
        </ul>
    </div>
    <a id="logo"><img /></a>
</div><!-- /#page -->

正如您所看到的,选择器偶尔会很长。但是恕我直言比使用像YUI grids.css这样的东西要容易得多,你最终会得到#doc,#bd,#yui-main等ID。

答案 3 :(得分:0)

如果这是一个学术问题,那就非常有趣......但就最佳实践而言,你不应该 - 或者想 - 伸展这些问题。如果需要存储有关HTML元素的数据,最好将其放入DOM对象的属性中。