在还是草稿的 HTML5 规范里头,id 和 class 属性的值的约束似乎没怎么说明,只说 id 不能包含空格。我们这里讨论,还是以 HTML4 为准吧。
HTML4 规范中,id 与 class 的属性规范分别是 NAME 与 CDATA-LIST。NAME 的格式,用正则表达就是,/[a-zA-Z][a-zA-Z0-9.:-_]*/;而 CDATA 则更加自由:
1
|
|
这都行?严格说来,这可不怎么行,在 CSS 里想用作选择器时,还需要转义;.\31 blah\2F bläh { ... }
,不过,那真的很麻烦。据 SO 的回答,所有 A 级浏览器都支持这么搞,不过,还是不要这么搞了吧?
然后是长度,这里有人做了测试,称 IE7、Firefox 等,都支持 1M 的长度。但我不是很信服,有必要的话得自己整一下。