getelementbyid和name有什么区别,elementbyid
老铁们,大家好,相信还有很多朋友对于getelementbyid和name有什么区别和elementbyid的相关问题不太懂,没关系,今天就由我来为大家分享分享getelementbyid和name有什么区别以及elementbyid的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
HTML元素的ID和Name属性的区别
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里。
asp 中 name value id有什么具体的区别
type浏览器中用于出入的控件(比方说type="text",这就是一个文本框;type="button",这就是一个按钮)
type可选的值如下:
button按钮
checkbox复选按钮组件
file文件上传组件
hidden隐藏域
image图片区域
password密码输入文本框
radio单选按钮组件
reset重置表单按钮
submit提交表单按钮
text文本输入框
***********************************************************************
id是唯一标识符,不允许有重复值(类似数据表的主键,pk),可以通过它的值来获得对应的html标签对象。(如果在同一页面代码中,出现重复的id,会导致不可预料的错误)
js代码:document.getElementById("id_value")
根据指定的id获得它的对象引用
***********************************************************************
name和id的功能是一样的,同样用来标识html标签,但唯一不同的是name允许有重复的值。
js代码:document.forms[0].name或document.getElementsByName("name")
根据指定的name获得它的对象引用数组
***********************************************************************
value代表某个html标签的值
打个比方:<input type="text" name="seq" value="hello!" id="seq007"/>
你将看到网页中文本框的内容为“hello!”
///////////////////////////////////////////////////////////////////////
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN""">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>Untitled Document</title>
<script>
</script>
</head>
<body>
<form>
<input type="text" name="seq" value="" id="seq001"/>
<input type="text" name="seq" value="" id="seq002"/>
<input type="text" name="seq" value="" id="seq003"/>
</form>
</body>
</html>
///////////////////////////////////////////////////////////////////////
document.getElementById("seq001")获得的是id=seq001的这个对象标签的引用
document.forms[0].seq
将返回网页中第一个表单里面所有name=seq的标签对象引用数组
document.getElementsByName("seq")
将返回网页中所有name=seq的标签对象引用数组
input中id和name的区别是什么
name在以下用途是不可替代的: 1.表单(form)的控件名,提交的数据都用控件的name而不是id来控制。因为有许多name会同时对应多个控件,比如checkbox和radio,而id必须是全文档中唯一的。此外浏览器会根据name来设定发送到服务器的request。因此如果用id,服务器是无法得到数据的。 2. frame和window的名字,用于在其他frame或window指定target。以下两者可以通用,但是建议用id不要用name: 1.锚点,通常以前写作<a name="myname">,现在可以用任何的元素id来指定:<div id="myid">。以下只能用id: 1. label与form控件的关联,<label for="MyInput">My Input</label><input id="MyInput" type="text"> for属性指定与label关联的元素的id,不可用name替代。 2. CSS的元素选择机制,以#MyId的方式指定应用样式的元素,不能用name替代。 3.脚本中获得对象: IE支持在脚本中直接以id(而不是name)引用该id标识的对象。例如上面的input,要在脚本中获得输入的内容,可以直接以MyInput.value来获得。如果用DOM的话,则用document.getElementByIdx("MyInput").value,如果要用name的话,通常先得到包含控件的form,例如document.forms[0],然后从form再引用name,注意这样得到的是经过计算后将发送给服务器的值。name与id的还有区别是:但是name在以下用途是不能替代的: 1.表单(form)的控件名,提交的数据都用控件的name而不是id来控制。因为有许多name会同时对应多个控件,比如checkbox和radio,而id必须是全文档中唯一的。此外浏览器会根据name来设定发送到服务器的request。因此如果用id,服务器是无法得到数据的。 2. frame和window的名字,用于在其他frame或window指定target。以下两者可以通用,但是强烈建议用id不要用name: 1.锚点,通常以前写作<a name="myname">,现在可以用任何的元素id来指定:<div id="myid">。以下只能用id: 1. label与form控件的关联,<label for="MyInput">My Input</label><input id="MyInput" type="text"> for属性指定与label关联的元素的id,不可用name替代。 2. CSS的元素选择机制,以#MyId的方式指定应用样式的元素,不能用name替代。 3.脚本中获得对象: IE支持在脚本中直接以id(而不是name)引用该id标识的对象。例如上面的input,要在脚本中获得输入的内容,可以直接以MyInput.value来获得。
关于本次getelementbyid和name有什么区别和elementbyid的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。