为HTML元素创建id属性时,该值有哪些规则?


当前回答

此外,永远不要忘记ID是唯一的。一旦使用,ID值可能不会再次出现在文档中的任何位置。

您可能有许多ID,但所有ID都必须具有唯一的值。

另一方面,还有class元素。就像ID一样,它可以出现多次,但值可能会被反复使用。

其他回答

从HTML 4规范。。。

ID和NAME标记必须以字母([a-Za-z])开头,后面可以是任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“_”)、冒号(“:”)和句点(“.”)。

HTML5

请记住,ID必须是唯一的,即文档中不能有多个元素具有相同的ID值。

HTML5中关于ID内容的规则是(除了唯一性之外):

此属性的值不能包含空格。[...]虽然HTML5中取消了这一限制,但为了兼容性,ID应该以字母开头。

这是关于ID的W3规范(来自MDN):

任何字符串,具有以下限制:必须至少有一个字符长不能包含任何空格字符以前版本的HTML对ID值的内容设置了更大的限制(例如,它们不允许ID值以数字开头)。

更多信息:

W3-全局属性(id)MDN属性(id)

没有空格,并且必须至少以a到z和0到9之间的字符开头。

对于HTML5:

该值必须在元素主页中的所有ID中唯一子树,并且必须至少包含一个字符。该值不得包含任何空格字符。

至少有一个字符,没有空格。

这为使用重音字符等有效用例打开了大门。这也为我们提供了更多的弹药,因为除非你非常小心,否则你现在可以使用id值,这会导致CSS和JavaScript出现问题。

jQuery不处理任何有效的ID名称。你只需要转义元字符(例如,点、分号、方括号…)

var name = 'O'Hara';

jQuery API中的选择器(请参见底部注释)