元素的ID要求唯一,若实际不唯一会怎样?
实测发现IE不把重复的ID当作错误,自动取第一个元素,忽略后续的元素。
<html>
<head>
<script type="text/javascript">
function getValue()
{
var x=document.getElementById("myHeader")
alert(x.innerHTML)
}
</script>
</head>
<body>
<h2 id="myHeader" οnclick="getValue()">这是标题2</h2>
<h1 id="myHeader" οnclick="getValue()">这是标题1</h1>
<p>点击标题,会提示出它的值。</p>
</body>
</html>
如上代码,点击任一标题提示“这是标题2”,将h2与h1顺序对调则点击任一标题提示“这是标题1”
id 的力量(http://www.w3school.com.cn/xhtml/xhtml_structural_02.asp)
id属性不可思议地强有力。它具有以下的能力:
- 作为样式表选择器,使我们有能力创作紧凑的最小化的 XHTML。
- 作为超文本的目标锚,取代过时的 name 属性。
- 作为从基于 DOM 的脚本来定位特定元素的方法。
- 作为对象元素的名称。
- 作为一种综合用途处理 (general purpose processing) 的工具(在 W3C的例子中,“当把数据从HTML页面中提取到数据库,或将 HTML 文档转换为其他格式等情况下,作为域识别工具来使用。”)。
用 id 属性代替 name 属性
HTML 4.01 针对下列元素定义 name 属性:a,applet, frame, iframe, img, 和map。
在 XHTML 中不鼓励使用 name属性,应该使用 id 取而代之。
<p><a href="#C4">查看 Chapter 4。</a></p>
<h2>Chapter 1</h2>
.......
<h2><a id="C4">Chapter 4</a></h2>
<p>This chapter explains ba bla bla</p>