为HTML元素创建id属性时,该值有哪些规则?
当前回答
HTML格式
ID应以{A-Z}或{A-Z}开头。您可以添加数字、句点、连字符、下划线和冒号。
例如:
<span id="testID2"></span>
<span id="test-ID2"></span>
<span id="test_ID2"></span>
<span id="test:ID2"></span>
<span id="test.ID2"></span>
但是,即使您可以使用冒号(:)或句点(.)创建ID。CSS很难将这些ID用作选择器。主要是当您想要使用伪元素(:before和:after)时。
在JavaScript中,也很难选择这些ID。因此,您应该使用前四个ID作为许多开发人员的首选方式,如果有必要,您也可以使用后两个ID。
其他回答
此外,永远不要忘记ID是唯一的。一旦使用,ID值可能不会再次出现在文档中的任何位置。
您可能有许多ID,但所有ID都必须具有唯一的值。
另一方面,还有class元素。就像ID一样,它可以出现多次,但值可能会被反复使用。
对于HTML5:
该值必须在元素主页中的所有ID中唯一子树,并且必须至少包含一个字符。该值不得包含任何空格字符。
至少有一个字符,没有空格。
这为使用重音字符等有效用例打开了大门。这也为我们提供了更多的弹药,因为除非你非常小心,否则你现在可以使用id值,这会导致CSS和JavaScript出现问题。
连字符、下划线、句点、冒号、数字和字母都适用于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>
jQuery不处理任何有效的ID名称。你只需要转义元字符(例如,点、分号、方括号…)
var name = 'O'Hara';
jQuery API中的选择器(请参见底部注释)
大写和小写字母有效“_”和“-”也有效数字有效冒号(,)和句点(.)似乎有效有趣的是,表情符号起作用
推荐文章
- 撇号的HTML代码
- 为什么我的CSS3媒体查询不能在移动设备上工作?
- 下一个元素的CSS选择器语法是什么?
- 我如何用CSS跨浏览器绘制垂直文本?
- 如何获得box-shadow在左侧和右侧
- 相对定位一个元素,而不占用文档流中的空间
- 如何在jQuery检索复选框值
- 禁用身体滚动
- 如何在删除前显示确认消息?
- 在一个CSS宽度的小数点后的位置是尊重?
- 我怎么能选择一个特定的类的最后一个元素,而不是父里面的最后一个孩子?
- 反应:为什么当道具改变时子组件不更新
- 我怎么能检查html元素,从DOM消失失去焦点?
- 在Atom编辑器中是否有格式化HTML的命令?
- 把<script>标签放在</body>标签之后是错误的吗?