HTML标签中id和name的区别

在学习HTML标签中的 元素的输入类型时,我发现标签除了拥有,type等控制输入字段的属性以外,还有两个不能被直接看出来的属性:“id”和“name”。那么这两个属性有什么不同呢?


1.定义上:

name:name 属性规定 input 元素的名称。
id:id 属性规定 HTML 元素的唯一的 id。
或许这两句话很难被区分开来,我们可以通过生活上的列子来形象地类比这个问题。我们每个人都有自己的名字和身份证号。在生活上难免会遇见和自己重名的人。但每个人的身份证号却是唯一的,这就是通过,姓名(name),与身份证idcard)来区分两者的不同。

2.用法:

在清楚了name与id的定义后,我们不难看出二者的作用肯定也是不同的,id的特殊属性决定了,每一个id元素在同一个HTML文档中必须是唯一的。而name元素却不需要这样。

name:

name的用法拿我进行表单练习的时候遇到过的一个问题做例子吧。如下图:


例子1

如图“”例子1"所示,很简单的在

这样的块级元素中我定义了4个单选输入。他们的name元素是一样的,因为type元素是“radio”所以就出现了,当我选择一个选项的时候另一个选项会消失。如下图所示


例子2

我选择了B选项,接下来进行C选项
例子3

B选项消失了。
然而当我对代码进行修改将内部的4个的name属性不同命名时


例子4

例子5

发现可以进行多项选择了。由此我们可以发现在同一个块级元素内的不同的中,每一个name元素都相当于对这个元素所进行的赋值当不同的出现相同的name时,相当于将他们绑成一个整体,这样系统才会识别他们的是作用在同一个cradio分组内。
除此以外,还有在服务器端根据name的通过Request.Params取得元素提交的值。只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。如代码:
HTML标签中id和name的区别_第1张图片
没有name的时候

Paste_Image.png

在没有name属性的情况下是没有接受到输入的。

id:

id 属性可用作链接锚(link anchor),通过 JavaScript(HTML DOM)或通过 CSS 为带有指定 id 的元素改变或添加样式。


HTML标签中id和name的区别_第2张图片
id例子

按下change text后出现了


HTML标签中id和name的区别_第3张图片
id例子2

由此可以发现在我们用javascript写了一个funcation之后,< h1>的id被change_header()函数获取了,之后就会出现如图所示的实现。

3.id与name的选择:

只能用id的情况:

1.label与form控件的关联, for属性指定与label关联的元素的id,不可用name替代。

  1. CSS的元素选择机制,以#MyId的方式指定应用样式的元素,不能用name替代。
HTML标签中id和name的区别_第4张图片
例子

当我们需要使得用户点击文本就可以完成出发相关控件的时候,使用

通过以上例子,就可以对id属性以及name属性有了比较清楚的区分了。


详细内容需参考百度文档以及大咖博客。

你可能感兴趣的:(HTML标签中id和name的区别)