HTML中属性ID和属性NAME有何区别?

RT

    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,注意这样得到的是经过计算后将发送给服务器的值。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-26
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里。本回答被提问者采纳

html里name和id的区别
1、性质不同:id相当于编号,具有唯一性,只能出现一次;name相当于名称,具有可重复性,可以多次出现。2、符号标识不同:id用井号表示;name用点表示。3、用途不同:name用于多次出现元素的样式定义;id用于唯一性元素的样式定义。

HTML 中的name属性和id属性有什么区别?
HTML中name属性和ID属性区别主要有以下方面:一、name="txtPassword" 此元素的名称为txtPassword (在同一个html文档中,name可以有重复)二、id="pwd"此元素的唯一标识为pwd(在同一个html文档中,id不可以有重复)

HTML元素的ID和Name属性的区别
2、同一个Form里不能有多个name属性相同的HTML标记,但如果一个网页中有多个Form,则不同的Form里可以有同个Name属性的标记。而ID是全局的,在一个HTML文档里不能有多个节点使用相同的ID,无论它处在哪个Form里。3、在建立CSS样式的时候,可以建立ID样式表(以#为前缀),使具有该ID的样式直接应用...

html中id与name的区别
HTML 中 id与name 区别:一个name可以同时对应多个控件,比如checkbox和radio而id必须是全文档中唯一的id的用途 1) id是HTML元素的Identity,主要是在客户端脚本里用。2) label与form控件的关联,如 <label for="MyInput">My Input<\/label> <input id="MyInput" type="text"> for属性...

html 中 <a>标签里面的id 和 name 有什么区别
而id和class主要是通过css控制设置了id和class的元素的样式。2、用法不同:定义了id的元素在css中用id选择器“#”来选择,例如 <h1 id="center">My First Heading<\/h1>,css中用#center{ }来控制其样式,定义了class的元素在css中用类选择器“.”来选择。例如:<h1 class="center"> My First...

HTML 中的name属性和id属性有什么区别?
ID 是唯一表示 ,整个页面唯一的,不允许重复 NAME 也就是名字,可以重复,整个页面任意个 例如:document.getElementByIdx("xxx") 取出来是唯一的 document.getElementsByName("xxx") 取出来是个数组 下列有name属性 A, APPLET, attribute, BUTTON, EMBED, FORM, IMG, INPUT ...

HTML中id属性和name属性有什么区别
id与name的作用,作为标签的标识符,基本上是一样的。一个页面中id和name都可以重复。html是一种标记语言,其发展有一个过程(其中经历了好几个版本,最后由W3C定出版本),这里就不赘述了。在html发展的过程中,name首先在前面的版本出现,id在后面的版本出现,两者沿用至今。 近几年网站的开发,...

html name和id的区别
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 中 <a>标签里面的id 和 name 有什么区别
id的意思就是身份证,它是具有唯一性的,也就是说同一个网页的所有标签的id都不能有相同的;name就是名字,而名字是允许重复的。id的主要作用是供前端脚本(即js)获取网页元素对象的,由于它具有唯一性,因此使用比较简便;而name则用于后台脚本获取网页中表单所提交的数据,所以它一般用于表单控件(如...

在HTML中的name和id的区别是什么?
name.中文是:姓名.那么.在一个系统中,name指的是一个代名词.就像一个人的名字一样.而ID.就像一个身份证号码.在html中:name指的是用户名称,ID指的是用户注册是系统自动分配给用户的一个序列号。 这样说你应该明白了些吧。

相似回答