HTML_id和name的详解

二者的区别与联系

  • 区别
  • name用于多次出现元素的样式定义,`允许有重复的值
  • id:是唯一标识符,不允许有重复
  • 联系
  • 功能相同,都可以用来标识html标签
  • 都可以用javascript来根据指定的id / name获得它的对象引用
  • 举例:
document.getElementsByName("XX") // 获得页面所有name元素的对象数组
document.getElementById("XX") //获取id号为”XX”的值
  • 举例
  • id 就像是一个人的身份证号码,而 name就像是他的名字,id显然是唯一的,而 name是可以重复的

二者的常见用途

  • name的常见用途

  • 作为可与服务器交互数据的HTML元素的服务器端的标识,比如input,select,textarea,button等,我们可以在服务器端根据其name通过 Request.Params 取得元素提交的值,当我们需要把这个控件所关联的数据传递到数据库时,就必须要设置 name 属性

  • HTML元素Input type='radio'分组,我们知道radiobutton控件是同一个分组类,操作是互斥的,同一时间只能选中一个radio,这个分组就是根据相同的name属性来实现的

  • 用途3: 建立页面中的锚点,我们知道<a href="URL">link</a>是获得一个页面超级链接,如果不用href属性,而改用name如:<a name="PageBottom"></a>,我们就获得了一个页面锚点

  • id的用途

  • 用途1: id就是Client端HTML元素的Identity(标记),主要是在客户端脚本里用。

  • 用途2:labelform控件的关联中,for属性指定与label关联的元素的id,不可用name替代

  • 举例:

<label for="MyInput">My Input</label>   
<input id="MyInput" type="text"> 
  • 在表单当中,由于有些控件具备多元素特性,例如radio,checkbox等,使用id不便于表单数据的提交,此外浏览器会根据name来设定发送到服务器的request,因此在表单当中,用name来提交数据,如果不指定Name,就不会发送到服务器端
  • 除去与表单相关的元素,只能赋id而不能赋name,这些元素有body、li、a、table、tr、td、th、p、div、span、pre、dl、dt、dd、font、b 等等

HTML中name与id的区别对比

|name属性|id属性|
----|----|----
适用的html元素 | buttoninputselecttextareaaimgform appletframeiframemapmetaobjectparam | 所有元素
唯一性|不唯一|唯一
作为锚点|可以 [W3C已弃用]|可以
JavaScript关联|getElementsByName() | getElementById()
作为表单提交信息|必须|无

相关文章推荐:
细说HTML元素的ID和Name属性的区别
HTML、CSS里面关于 id、class、name 属性的区别和用法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • id和name是HTML中经常用到的两个属性,对于这两个属性的使用,会有一些疑惑的地方,比如: id有什么用途? ...
    杨慧莉阅读 2,134评论 1 2
  • HTML 中 id与name 区别 一个name可以同时对应多个控件,比如checkbox和radio。而id必须...
    Yinag阅读 709评论 0 1
  • HTML中的id和name id此属性指定一个元素的名称。此名称必须在文档中是唯一的。 name单独地在一个网页里...
    落花的季节阅读 2,606评论 1 3
  • id 定义:id 属性规定 HTML 元素的唯一的 id。 用途: 用途1:id是HTML元素的Identity,...
    heheheyuanqing阅读 499评论 0 0