为HTML元素创建id属性时,该值有哪些规则?
当前回答
HTML5
请记住,ID必须是唯一的,即文档中不能有多个元素具有相同的ID值。
HTML5中关于ID内容的规则是(除了唯一性之外):
此属性的值不能包含空格。[...]虽然HTML5中取消了这一限制,但为了兼容性,ID应该以字母开头。
这是关于ID的W3规范(来自MDN):
任何字符串,具有以下限制:必须至少有一个字符长不能包含任何空格字符以前版本的HTML对ID值的内容设置了更大的限制(例如,它们不允许ID值以数字开头)。
更多信息:
W3-全局属性(id)MDN属性(id)
其他回答
严格来说,它应该匹配
[A-Za-z][-A-Za-z0-9_:.]*
但是jQuery似乎有冒号的问题,所以最好避免使用冒号。
从技术上讲,可以在id/name属性中使用冒号和句点,但我强烈建议避免两者。
在CSS(以及jQuery等几个JavaScript库)中,句点和冒号都有特殊含义,如果不小心就会遇到问题。句点是类选择器,冒号是伪选择器(例如,当鼠标悬停在元素上时,元素的“:hover”)。
如果给元素id为“my.ccool:thing”,则CSS选择器将如下所示:
#my.cool:thing { ... /* some rules */ ... }
也就是说,在CSS中,“id为‘my’的元素、‘cool’类和‘thing’伪选择器”。
任何大小写、数字、下划线和连字符都要使用A-Z。如上所述,确保您的ID是唯一的。
这应该是你最关心的问题。
Html ID
id属性指定其元素的唯一标识符(id)。
身份证的形式没有其他限制;特别是,ID可以仅由数字组成,以数字开头,以下划线开头,仅由标点符号组成,等等。
元素的唯一标识符可以用于多种用途,最明显的是作为使用片段链接到文档的特定部分的方式,作为编写脚本时以元素为目标的方式,以及根据CSS对特定元素进行样式设置的方式。
ID最适合命名布局的部分,因此不应为ID和类指定相同的名称ID允许字母数字和特殊字符但避免使用#:.*!符号不允许空格不是以数字或连字符开头,后跟数字区分大小写使用ID选择器比使用类选择器更快对于长CSS类或Id规则名称,也可以使用连字符“-”(下划线“_”,但这不利于SEO)如果规则有一个ID选择器作为其键选择器,则不要将标记名称添加到规则中。由于ID是唯一的,因此添加标记名会不必要地减慢匹配过程。在HTML5中,id属性可以用于任何HTML元素,而在HTML4.01中,id特性不能用于:<base>、<head>、<HTML>、<meta>、<param>、<script>、<style>和<title>。
大写和小写字母有效“_”和“-”也有效数字有效冒号(,)和句点(.)似乎有效有趣的是,表情符号起作用