html里name和id的区别

name是用来提交表单数据,那id是拿来干嘛的... name是用来提交表单数据,那id是拿来干嘛的 展开
 我来答
好名字都被人家占了
2009-07-08 · TA获得超过763个赞
知道答主
回答量:70
采纳率:0%
帮助的人:44.6万
展开全部
ID和Name都可以用来标识一个标记,Javascript分别有两个方法getElementById和getElementByName来定位Dom节点。
区别如下:
1、我们知道在网页做Post提交时,是以Form(即表单域)为单位进行提交的,一个Form里有若干个表单对象(如<input type="text" name="UserName" value="请输入姓名"/>),同一个页面里可以为多个Form(Asp.net不同,它只允许有一个,且名字必须为Form1),在表单表提交到服务器端后,可以直接通过Name属性取到表单域的值,却无法通过ID直接取到该表表单对象的值。
2、同一个Form里不能有多个name属性相同的HTML标记,但如果一个网页中有多个Form,则不同的Form里可以有同个Name属性的标记。而ID是全局的,在一个HTML文档里不能有多个节点使用相同的ID,无论它处在哪个Form里。
3、在建立CSS样式的时候,可以建立ID样式表(以#为前缀),使具有该ID的样式直接应用该样式,而无法建立Name样式表。
4、在进行网页编辑时建议使用ID来标识一个节点,而不是使用Name(除非是为了Post提交的需要),同样使用Javascript进行Dom节点定位时建议使用getElementById方法,因为只有ID能唯一标识一个节点,而同一个网页里可能会有多个Name属性相同的节点,它们分别处在不同的Form里。
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
上班摸鱼的坏叔叔
2018-08-01 · 做你该做的事情,并且接受它的事与愿违!
上班摸鱼的坏叔叔
采纳数:1629 获赞数:9866

向TA提问 私信TA
展开全部
  • name与id的还有区别是:id要符合标识的要求,比如大小写敏感,最好不要包含下划线(因为不兼容CSS)。而name基本上没有什么要求,甚至可以用数字。

  • <a name="myname"> 
    <div id="myid"> 
    <label for="MyInput">My Input</label> <input id="MyInput" type="text"> 

  • HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。

  • name原来是为了标识之用,但是现在根据规范,都建议用id来标识元素。但是name在以下用途是不能替代的:

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

  • 2. frame和window的名字,用于在其他frame或window指定target。

  • 以下两者可以通用,但是强烈建议用id不要用name:

  • 锚点,通常以前写作


  • 现在可以用任何的元素id来指定:


  • 以下只能用id:

  • 1. label与form控件的关联,


  • for属性指定与label关联的元素的id,不可用name替代。

  • 2. CSS的元素选择机制,以#MyId的方式指定应用样式的元素,不能用name替代。

  • 3. 脚本中获得对象:

  • IE支持在脚本中直接以id(而不是name)引用该id标识的对象。例如上面的input,要在脚本中获得输入的内容,可以直接以MyInput.value来获得。

  • 如果用DOM的话,则用document.getElementById("MyInput").value,如果要用name的话,通常先得到包含控件的form,例如document.forms[0],然后从form再引用name,注意这样得到的是经过计算后将发送给服务器的值。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
河清鱼戏水A
推荐于2017-04-14 · TA获得超过1963个赞
知道小有建树答主
回答量:753
采纳率:0%
帮助的人:648万
展开全部
html的name和id可以类比身份证的姓名和身份证编号
编号id具有唯一性,一个id只出现一次。
名称name具备可重复性,可以多次出现。
在css中两者都具备识别html元素的作用,name用点号.表示,id用井号#
一般name用于通用多次出现元素的样式定义,id用于唯一性元素样式定义。

在表单当中,由于有些控件具备多元素特性,例如radio checkbox等,使用id不便于表单数据的提交,此外浏览器会根据name来设定发送到服务器的request,因此在表单当中,用name来提交数据。

当然,在实际的html中,也完全可以不用id,用单独的class也可以起到代替id的作用。但是在js中,是无法通过class直接后去html元素的, 定义id便于相关操作。

更多详情可参考百度文库
http://wenku.baidu.com/view/a3fcdc976bec0975f465e2c4.html
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-11-21
展开全部
1、name指的是用户名称,ID指的是用户注册是系统自动分配给用户的一个序列号。 name是用来提交数据的,提供给表单用,可以重复;id则针对文档操作时候用,不能重复。如:document.getElementById();
2、ID是在客户端脚本里用!NAME是用于获取提交表单的某表单域信息,在form里面,如果不指定Name的话,就不会发送到服务器端。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lqwcwsse
2013-11-08 · 超过19用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:48.7万
展开全部
id 可以定义CSS样式,但最好只设置一个,因为脚本在查找DOM的时候只会返回第一个ID,如果要多个标签用同一样式,那就用class
追问
那name呢
追答
name是提交表单时,后台处理的所提交数据的一个映射,比如的输入框中输入了123并提交,提交的表单中   test = 123, 懂不。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式