html元素-ID属性的思考

元素的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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值