在HTML规范说
ID和NAME令牌必须以字母([A-Za-z])开头,后可以跟任意数量的字母,数字([0-9]),连字符(“-”),下划线(“ _”) ,冒号(“:”)和句点(“。”)。
而且即使HTML 4 的SGML声明为NAMELEN使用值65536,它也会指出“避免固定限制”。
但可以肯定的是,浏览器,CSS实现和JavaScript工具包在支持的长度上必须有一些限制。在HTML / CSS / JS应用程序中可以安全使用的最小限制是多少?
Answers:
刚刚经过测试:1M个字符可在所有现代浏览器上使用:Chrome1,FF3,IE7,Konqueror3,Opera9,Safari3。
我怀疑更长的ID可能很难记住。
有时我会得到很长的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之类的东西要容易得多,在这些地方您最终得到的ID是#doc,#bd,#yui-main等。