最classical的答案:Id相当于是人的身份证号,Name相当于是名字,Id是唯一的,Name可以重复。
详解:id是Client端HTML元素的Identity(身份),
Name的用途很多:
用途一:作为可与服务器交互的HTML的元素服务器端的标示,比如input,select,textarea,button等,在服务器端根据Name通过Request.Params去的元素提交的值。
用途二:HTML元素Input="radio"分组,我们知道radio button控件在同一个分组类,check操作是mutex(无言)的,同一时间只能选定一radio,这个分组根据相同的Name属性来实现的。
用途三:建立页面的锚点,<a href="URL">link</a>是获取一个页面超链接,如果不用href属性,而用Name,<a Name="PageBottom"></a>我们就过去到一个页面锚点。
用途四:作为对象的Identity,如Applet,Object,Embed,比如在applet对象中我们用Name来引用对象。
用途5: 在IMG元素和MAP元素之间关联的时候,如果要定义IMG的热点区域,需要使用其属性usemap,使usemap="#name"(被关联的MAP元素的Name)。
用途6: 某些特定元素的属性,如attribute,meta和param。例如为Object定义参数<PARAM NAME = "appletParameter" VALUE = "value">或Meta中<META NAME = "Author" CONTENT = "Dave Raggett">
显然这些用途都不是能简单的使用ID来代替掉的,所以HTML元素的ID和Name的却别并不是身份证号码和姓名这样的区别,它们更本就是不同作用的东西。