关于id和name这两个属性如何区分和使用时广大初学者最迷惑的地方之一,下面就这个问题与读者一块讨论。
早期的html使用name属性来标识每个元素,很明显name就是名称的意识,可能考虑到名称会存在重复性,所以从html4版本开始就不再使用这个属性了,而建议使用id属性作为元素的唯一标识符,甚至到了xhtml严格类型文中就禁止使用name了。
但由于name属性长期使用,在某些方面还具有根深蒂固的影响,在下面这些方面依然被广泛使用,name的用途是不能代替的
定义表单的控件名,提交表单数据时候都用控件的name,而不是id属性来控制,因为有很多name能够同时对应多个元素控件,如复选框元素和单选按钮,而id必须是网页文档中唯一的某个元素,例如,下面复选框和单选按钮组中就是通过定义相同name属性实现元素控件分组的。我们知道复选框和单选框控件在同一个分组中,他们的操作是同样的,即复选框的数据可以多选,单选按钮组只能选择其中的一项,最后他们的数据利用相同的name属性来实现发送。医用灭菌袋 灭菌袋封口机 硅橡胶印模材 齿科针
此外,浏览器会根据name来设定发送到服务器的request,因此,如果使用id属性,服务器是无法获取客户端发送的数据的。
frame,和iframe框架元素需要定义name属性,用于其它框架中显示网页。天津网站建设,天津网站优化,汽车玻璃,商业策划招商,钢板桩租赁,天津废锡回收,天津网站制作
用name属性定义锚点,在img元素和map元素之间建立关联的时候,如果要定义img的热点区域,就需要使用其属性usemap,即定义该属性,在一些特殊的对象中,还需要用name属性来引用该对象,对于某些特定的元素,在下面场合是禁止使用name属性的:如果把label和表单元素关联起来,就必须为表单定义一个id属性,如果要用css控制元素的样式,只能用id选择符,以#id的方式指定应用样式的元素,但不能使用name来代替。另外id属性值对于命名要求比较严格,如对大小写敏感,最好不要包含下划线,而name基本上没有什么要求,甚至可以用数字。