id与name的作用,作为标签的标识符,基本上是一样的.name是老方法,id是在name基础上发明的,比name"现代化"一点,用的范围广一点. <A..> 中的name原来(刚发明时)就是用于本页按一下转向过去用的。我们一般认为:ID就像是一个人的身份证号码,显然是唯一的,而Name就像是他的名字,而Name是可以重复的。

ID和Name问题描述:在页面里输入了一个input type="hidden",只写了一个ID='SliceInfo',赋值后submit,在后台用Request.Params["SliceInfo"]却怎么也找不到值。后来明白原因用Name来标示,于是在input里加了个Name='SliceInfo',就一切ok了。

第一段里对于ID和Name的解答说的太笼统了,当然那个解释对于ID来说是完全对的,它就是Client端HTML元素的Identity。而Name其实要复杂的多,因为Name有很多种的用途,所以它并不能完全由ID来代替。具体用途有:

用途1: 作为可与服务器交互数据的HTML元素的服务器端的标示,比如input、select、textarea、和button等。我们可以在服务器端根据其Name通过Request.Params取得元素提交的值。
用途2: HTML元素Input type='radio'分组,我们知道radio button控件在同一个分组类,check操作是mutex的,同一时间只能选中一个radio,这个分组就是根据相同的Name属性来实现的。
用途3: 建立页面中的锚点,我们知道<a href="URL">link</a>是获得一个页面超级链接,如果不用href属性,而改用Name,如:<a name="PageBottom"></a>,我们就获得了一个页面锚点。
用途4: 作为对象的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的却别并不是身份证号码和姓名这样的区别,它们更本就是不同作用的东西。
-----------------------------------------------------------------------------------------
除 BASE, HEAD, HTML, META, SCRIPT, STYLE, TITLE 标签外,id 都可用.

name只用于APPLET,SELECT,FORM,FRAME,IFRAME,IMG,A,INPUT,OBJECT,MAP,PARAM,META. (name有时有自己的用途)

table 中 name 无定义, 应当用 id.

有些标签,可以同时有name和id。

在一个HTML网页中,id是唯一的。

id 在HTML中的作用:

(1) 用id选择相应的style sheet(风格).
(2) <A ..> 链接的目的地
(3) 脚本语言用它找目的地(找该id的标签)
(4) 作为名字,用于声明某OBJECT element
(5) 作为一个标签或块的区分标致(用于从HTML网页中取出数据放入数据库或把HTML翻译成别的格式,等情况).

(参考HTML 4.0 定义)

name原来是为了标识之用,但是现在根据规范,都建议用id来标识元素。
以下只能用name:
1. 表单(form)的控件名,提交的数据都用控件的name而不是id来控制。因为有许多name会同时对应多个控件,比如
checkbox和radio,而id必须是全文档中唯一的。此外浏览器会根据name来设定发送到服务器的request。因此如果用id,服务器是无
法得到数据的。
2. frame和window的名字,用于在其他frame或window指定target。
以下只能用id:
1. label与form控件的关联,
<label for="MyInput">My Input</label>
<input id="MyInput" type="text">
for属性指定与label关联的元素的id,不可用name替代。
2. CSS的元素选择机制,以#MyId的方式指定应用样式的元素,不能用name替代。
3. 脚本中获得对象:
IE支持在脚本中直接以id(而不是name)引用该id标识的对象。例如上面的input,要在脚本中获得输入的内容,可以直接以
MyInput.value来获得。
如果用DOM的话,则用document.getElementById("MyInput").value,如果要用name的话,通常先得到包含控件的form,例如
document.forms[0],然后从form再引用name,注意这样得到的是经过计算后将发送给服务器的值。
name与id的其他区别是:
id要符合标识的要求,比如大小写敏感,最好不要包含下划线(因为不兼容CSS)。而name基本上没有什么要求,甚至可以用数字

用CSS控制这个链接的停留样式,
可以这样写 #m_blog div.opt a:hover{color:#D57813} 或 #myLink:hover{color:#D57813}
NAME主要应用在交互式网页,表单提交给某个服务器端脚本后接收变处理量使用。从源代码的规范性和兼容性角度出发,如在客户端
脚本里要索引某个对象,建议用document.getElementById()方法,尽量不要直接使用NAME的值

转载于:https://www.cnblogs.com/babykick/archive/2012/01/15/2323059.html

转:html id与name区别相关推荐

  1. html:(27):类和ID选择器的区别和子选择器

    类和ID选择器的区别 学习了类选择器和ID选择器,我们会发现他们之间有很多的相似处,是不是两者可以通用呢?我们不要着急先来总结一下他们的相同点和不同点: 相同点:可以应用于任何元素 不同点: 1.ID ...

  2. IC卡与ID卡的区别

    IC卡与ID卡的区别 射频IC卡按照使用功能分为身份识别ID 卡.消费的IC卡.物流标记卡.远距离识别卡. 目前,许多一卡通的项目,但对于是采用IC卡,还是采用ID卡做一卡通的问题上,还存在着很大的疑 ...

  3. (转)Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别

    Spring中Bean的命名 1.每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该id属性值必须在IoC容器中唯一: 2.可以不指定id属性,只指定全限定类名,如: & ...

  4. 关于instancetype代替id的使用区别

    使用instancetype有三点好处: 1.明确性.代码只做你让它做的事,而不是其他. 2.程式化.你会养成好习惯,这些习惯在某些时候会很有用,而且肯定有用武之地. 3.一致性.让代码可读性更好. ...

  5. 类选择器和ID选择器的区别

    区别 1: 与类不同,在一个 HTML 文档中,ID 选择器会使用一次,而且仅一次. 下面代码是正确的: <p> 三年级时,我还是一个 <span class="stres ...

  6. 浅谈IC卡与ID卡重大区别

    目前,感应式IC/ID卡随着生产成本的下降及技术的成熟,已应用于众多管理系统中,应用面越来越广,其优越性越来越让社会接受,许多单位.公司.智能小区或楼宇的发展商都要上一卡通的项目,但对于是采用IC卡, ...

  7. IC卡和ID卡的区别以及相同之处各是什么?

    原文地址::http://zhidao.baidu.com/link?url=18HWRtLgX5j3_8InINcuq7SDEK_Klcht5-fB0VQPyc_i_j2OvFD83k0YJYpRG ...

  8. CSS之id和class区别以及字体加粗样式

    字体加粗方式: font-weight: bold; 或者通过值来加粗: font-weight:800; html中对字体加粗的其他方式: <b></b>或<stron ...

  9. <input type=“text“ name=““ id=““/>中的name和id有什么区别?

    name 是表单提交后,给后台处理程序区分不同的输入框. 例如 name = '用户名' name ='密码',后台程序就会分别去处理用户名和密码. 而 id 通常给前台程序,例如 Javascrip ...

最新文章

  1. 项目部署、配置、查错常用到的Linux命令
  2. c语言线性表顺序存储实验小结,数据结构学习笔记-线性表顺序存储(C语言实现)...
  3. JAVA——HttpClient封装工具类
  4. Android--快速接入微信支付
  5. 存储ic载板_延伸IC领域 崇达技术拟将持有普诺威55%股权
  6. python paramiko 模块简介(SSH2协议)
  7. ScalaReact式编程书
  8. 安全双标准或成拖垮企网防护的新威胁
  9. java面试题2018带答案_java面试题及答案下载
  10. JavaBean的实用工具Lombok(省去get、set等方法)
  11. QQ概念版(WPF制作)
  12. python分析pcap文件_Python-对Pcap文件进行处理,获
  13. 《微处理器体系结构》1.1 汇编语言与机器语言及应用
  14. 酷Q自动升级失败的可能解决方法
  15. Circuit Design 三极管驱动蜂鸣器电路 及 蜂鸣器两端电压正确但是不响的解决方案
  16. 强化学习系列(二):Multi-armed Bandits(多臂老虎机问题)
  17. U盘格式化的不同选择——FAT32,NTFS和exFAT
  18. 惠普笔记本拆机,加装固态硬盘,重装系统经验
  19. retrofit原理面试,2021最新百度、头条等公司Android社招面试题目,含答案解析
  20. 在智慧城市建设中 计算机模拟是一个强大的工具

热门文章

  1. 前端学习(3292):副作用
  2. React开发(131):ant design学习指南之form中的resetFields
  3. 手动封装element-ui里面的button组件
  4. [html] 你是如何区分HTML和HTML5的?
  5. 前端学习(2714):重读vue电商网站34之侧边栏路由改造
  6. 工作171:阅读账号里面的新增调用接口操作
  7. 工作107:vue调用视频接口
  8. 前端学习(1983)vue之电商管理系统电商系统之清空表格数据
  9. 前端学习(1864)vue之电商管理系统电商系统之绘制登录表单区域带icon的输入框
  10. 前端学习(755):作用域案例