HTML标签中id和name的区别
在学习HTML标签中的<input> 元素的输⼊类型时,我发现<input>标签除了拥有,type等控制输⼊字段的属性以外,还有两个不能被直接看出来的属
性:“id”和“name”。那么这两个属性有什么不同呢?
1.定义上:
name:name 属性规定 input 元素的名称。
id:id 属性规定 HTML 元素的唯⼀的 id。
或许这两句话很难被区分开来,我们可以通过⽣活上的列⼦来形象地类⽐这个问题。我们每个⼈都有⾃⼰的名字和⾝份证号。在⽣活上难免会遇见和⾃⼰重名的⼈。但每个⼈的⾝份证号却是唯⼀的,这就是通过,姓名(name),与⾝份证idcard)来区分两者的不同。
2.⽤法:
在清楚了name与id的定义后,我们不难看出⼆者的作⽤肯定也是不同的,id的特殊属性决定了,每⼀个id元素在同⼀个HTML⽂档中必须是唯⼀的。⽽name元素却不需要这样。html中提交表单用什么属性
name:
name的⽤法拿我进⾏表单练习的时候遇到过的⼀个问题做例⼦吧。如下图:
例⼦1
如图“”例⼦1"所⽰,很简单的在<form>这样的块级元素中我定义了4个单选输⼊。他们的name元素是⼀样的,因为type元素是“radio”所以就出现了,当我选择⼀个选项的时候另⼀个选项会消失。如下图所⽰
例⼦2
我选择了B选项,接下来进⾏C选项
例⼦3
B选项消失了。
然⽽当我对代码进⾏修改将<form>内部的4个<input>的name属性不同命名时
例⼦4
例⼦5
发现可以进⾏多项选择了。由此我们可以发现在同⼀个块级元素<form>内的不同的<input>中,每⼀个name元素都相当于对这个<form>元素所进⾏的赋值当不同的<input>出现相同的name时,相当于将他们绑成⼀个整体,这样系统才会识别他们的是作⽤在同⼀个cradio分组内。
除此以外,还有在服务器端根据name的通过Request.Params取得元素提交的值。只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。如代码:
没有name的时候
Paste_Image.png
在没有name属性的情况下是没有接受到输⼊的。
id:
id 属性可⽤作链接锚(link anchor),通过 JavaScript(HTML DOM)或通过 CSS 为带有指定 id 的元素改变或添加样式。
id例⼦
按下change text后出现了
id例⼦2
由此可以发现在我们⽤javascript写了⼀个funcation之后,< h1>的id被change_header()函数获取了,之后就会出现如图所⽰的实现。
3.id与name的选择:
只能⽤id的情况:
1.label与form控件的关联, <label for="MyInput" >My Input</label> <input id="MyInput" type="text"> for属性指定与label关联的元素的id,不可⽤name替代。
2. CSS的元素选择机制,以#MyId的⽅式指定应⽤样式的元素,不能⽤name替代。
例⼦
当我们需要使得⽤户点击⽂本就可以完成出发相关控件的时候,使⽤<label>标签,并且使得标签内部的for元素与控制点击的<input>标签的id元素相同。
通过以上例⼦,就可以对id属性以及name属性有了⽐较清楚的区分了。
详细内容需参考百度⽂档以及⼤咖博客。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。