html id同name的区别

id同name的区别

ID的属性是最高级别的.而form中的name级别是比较低的.如果说我要取一个值的话用这两种方法来写.如下:   
这是name的写法   

 window.document.form.name.value  

 

而ID的话则只需要用   
ID.value

就能够直接抓出值来.因为它比window的级别还高.所以只需要这样用  

 

 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里。

posted @ 2012-03-06 14:51  郑文亮  阅读(360)  评论(2编辑  收藏  举报