html id和name用法详述

name属性和id属性的比较分析

  • html的name和id可以类比身份证的姓名和身份证编号 其中编号id具有唯一性;
  • 一个id只出现一次;
  • 名称name具备可重复性,可以多次出现;
  • 在css中两者都具备识别html元素的作用,name用点号.表示,id用井号# ;
  • 一般name用于通用多次出现元素的样式定义,id用于唯一性元素样式定义。
  • id要符合标识的要求,比如大小写敏感,最好不要包含下划线(因为不兼容CSS);
  • name的定义基本上没有什么要求,甚至可以用数字。

什么时候用name?

  1. 表单(form)的控件名,提交的数据都用控件的name而不是id来控制。因为有许多name会同时对应多个控件,比如checkbox和radio,而id必须是全文档中唯一的。此外浏览器会根据name来设定发送到服务器的request。因此如果用id,服务器是无法得到数据的。
  2. frame和window的名字,用于在其他frame或window指定target.

什么时候用id?

  • label与form控件的关联,
    <label for="MyInput">My Input</label> <input id="MyInput" type="text">
    for属性指定与label关联的元素的id,不可用name替代。
  • CSS的元素选择机制,以#MyId的方式指定应用样式的元素,不能用name替代。
  • 脚本中获得对象:IE支持在脚本中直接以id(而不是name)引用该id标识的对象。
    例如上面的input,要在脚本中获得输入的内容,可以直接以MyInput.value来获得。如果用DOM的话,则用document.getElementById("MyInput").value,如果要用name的话,通常先得到包含控件的form,例如document.forms[0],然后从form再引用name,注意这样得到的是经过计算后将发送给服务器的值。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,790评论 1 92
  • HTML 中 id与name 区别 一个name可以同时对应多个控件,比如checkbox和radio。而id必须...
    Yinag阅读 700评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 你偷偷地把她设置成特别关心,生怕错过她哪怕一句晚安; 你把她设置成隐身访问的对象,担心点开她头像的次数太多引起她的...
    念重光阅读 538评论 0 3
  • 一个人 在这边挥手 眼中强忍泪流 一个人 不愿回头 但心挂着这头 别离 是为了下次的欢聚 远走 是为了更好的遇见 ...
    芷葶阅读 356评论 0 0