为HTML元素创建id属性时,该值有哪些规则?
当前回答
ID最适合命名布局的部分,因此不应为ID和类指定相同的名称ID允许字母数字和特殊字符但避免使用#:.*!符号不允许空格不是以数字或连字符开头,后跟数字区分大小写使用ID选择器比使用类选择器更快对于长CSS类或Id规则名称,也可以使用连字符“-”(下划线“_”,但这不利于SEO)如果规则有一个ID选择器作为其键选择器,则不要将标记名称添加到规则中。由于ID是唯一的,因此添加标记名会不必要地减慢匹配过程。在HTML5中,id属性可以用于任何HTML元素,而在HTML4.01中,id特性不能用于:<base>、<head>、<HTML>、<meta>、<param>、<script>、<style>和<title>。
其他回答
严格来说,它应该匹配
[A-Za-z][-A-Za-z0-9_:.]*
但是jQuery似乎有冒号的问题,所以最好避免使用冒号。
HTML5:
它消除了对id属性的额外限制(请参见此处)。剩下的唯一要求(除了文件中的唯一要求)是:
该值必须至少包含一个字符(不能为空)它不能包含任何空格字符。
HTML5之前:
ID应匹配:
[A-Za-z][-A-Za-z0-9_:.]*
必须以A-Z或A-Z字符开头可以包含-(连字符)、_(下划线)、:(冒号)和。(期间)
但我们应该避免:和。因为:
例如,一个ID可以被标记为“a.b:c”,并在样式表中被引用为#a.b:cc,但除了作为元素的ID之外,它还可以表示ID“a”、类“b”、伪选择器“c”。最好避免混淆,远离使用。和:总计。
Html ID
id属性指定其元素的唯一标识符(id)。
身份证的形式没有其他限制;特别是,ID可以仅由数字组成,以数字开头,以下划线开头,仅由标点符号组成,等等。
元素的唯一标识符可以用于多种用途,最明显的是作为使用片段链接到文档的特定部分的方式,作为编写脚本时以元素为目标的方式,以及根据CSS对特定元素进行样式设置的方式。
连字符、下划线、句点、冒号、数字和字母都适用于CSS和jQuery。以下内容应该有效,但在整个页面中必须是唯一的,并且必须以字母[a-Za-z]开头。
使用冒号和句点需要做更多的工作,但可以按照下面的示例进行操作。
<html>
<head>
<title>Cake</title>
<style type="text/css">
#i\.Really\.Like\.Cake {
color: green;
}
#i\:Really\:Like\:Cake {
color: blue;
}
</style>
</head>
<body>
<div id="i.Really.Like.Cake">Cake</div>
<div id="testResultPeriod"></div>
<div id="i:Really:Like:Cake">Cake</div>
<div id="testResultColon"></div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var testPeriod = $("#i\\.Really\\.Like\\.Cake");
$("#testResultPeriod").html("found " + testPeriod.length + " result.");
var testColon = $("#i\\:Really\\:Like\\:Cake");
$("#testResultColon").html("found " + testColon.length + " result.");
});
</script>
</body>
</html>
墙可以是:[a-z]、[a-z]、[0-9]、[*_:-]
它用于HTML5。。。
我们可以用任何标签添加id。
推荐文章
- 撇号的HTML代码
- 为什么我的CSS3媒体查询不能在移动设备上工作?
- 下一个元素的CSS选择器语法是什么?
- 我如何用CSS跨浏览器绘制垂直文本?
- 如何获得box-shadow在左侧和右侧
- 相对定位一个元素,而不占用文档流中的空间
- 如何在jQuery检索复选框值
- 禁用身体滚动
- 如何在删除前显示确认消息?
- 在一个CSS宽度的小数点后的位置是尊重?
- 我怎么能选择一个特定的类的最后一个元素,而不是父里面的最后一个孩子?
- 反应:为什么当道具改变时子组件不更新
- 我怎么能检查html元素,从DOM消失失去焦点?
- 在Atom编辑器中是否有格式化HTML的命令?
- 把<script>标签放在</body>标签之后是错误的吗?