总的来说,name是用来提交数据的,提供给表单用,可以重复;id则针对文档操作时候用,不能重复。如:document.getElementById();
什么情况下必须用name?
1、表单元素(例如:form、input、textarea、select 、button 等)通常与表单提交有关,在表单的接收页面只接收有name的元素,赋id的元素通过表单是接收不到值的。
2、表单元素复选框checkbox、单选按钮 radio 通常会对应多个控件,这时必须用name属性来实现分组。同一组使用同一个name。使两个题目的选项之间不产生干扰。
3、框架元素(iframe、frame)的名字,用于在其他iframe、frame指定target。
4、建立页面中的锚点,我们知道<a href="URL">link</a>是获得一个页面超级链接,如果不用href属性,而改用name,如:<a name="pageTop"></a>,我们就获得了一个页面锚点。
5、在IMG元素和MAP元素之间关联的时候,如果要定义IMG的热点区域,需要使用其属性usemap,使usemap="#name"(被关联的MAP元素的name)。
6、某些特定元素的属性,如attribute,meta和param。例如为Object定义参数<PARAM NAME = "appletParameter" VALUE = "value">或Meta中<META NAME = "Author" CONTENT = "Admin10000.com">
什么情况下必须用id ?
1、label与form控件的关联。例如:
<label for="myInput">文本录入框</label>
<input id="myInput" type="text"/>
2、id 可以用来设置一个css样式。例如:
<style type="text/css">
#my
{
font-size: 12px;
color: red;
}
</style>
<div id="my">设置字体大小和颜色</div>