id和name属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了id和name属性相关的知识,希望对你有一定的参考价值。

  id和name的联系:

  (1)都可以用来标识一个元素

  (2)在javascript中,通过getElementById和getElementByName都定位DOM节点。

  区别:

  (1)id具有全局唯一性,在整个文档中不能有重复的id,主要在客户端脚本里使用。name属性可以标识多个元素,同一个Form里不能有多个name属性相同的html标记,但如果一个网页中有多个Form,则不同的Form里可以有同个Name属性的标记。

  (2)label与form之间的关联必须使用到id属性。name属性做不到。

 <label for="hrcInput">My Input</label>
            <input id="hrcInput" type="text">

  (3)在CSS样式表中,以#+id值为前缀可以建立id样式表,快速找到指定元素,为它设置样式。但name值没有办法作为选择器在CSS中使用。

  (4)使用Javascript进行Dom节点定位时建议使用getElementById方法,可以快速定位唯一的DOM节点,而使用getElementByName会选中多个form中具有相同name值的节点。

  (5)在多个单选input元素中

<input type="radio" name=" ">

  使用同一个name值可以实现单选功能,是name属性特有的功能。

  (6)网页做Post提交时,是以Form(即表单域)为单位进行提交的,一个Form里有若干个表单对象,同一个页面里可以为多个Form(Asp.net不同,它只允许有一个,且名字必须为Form1),在表单表提交到服务器端后,可以直接通过Name属性取到表单域的值,却无法通过ID直接取到该表表单对象的值。

  (7)IE支持在脚本中直接以id引用该id标识的对象。例如hrcInput.value,name属性不具有这个功能。

以上是关于id和name属性的主要内容,如果未能解决你的问题,请参考以下文章

HTML 中的name属性和id属性有啥区别?

id和name属性

片段替换显示两个片段

input中id和name属性的区别

为什么Android导航组件无法返回上一个片段?

EF 开始的片段时有问题 具有潜在运行时冲突