name原来是为了标识之用,但是现在根据规范,都建议用id来标识元素。
以下只能用name:
1.表单(form)的控件名,提交的数据都用控件的name而不是id来控制。因为有许多name会同时对应多个控件,比如checkbox和radio,而id必须是全文档中唯一的。此外浏览器会根据name来设定发送到服务器的request。因此如果用id,服务器是无法得到数据的。
2.frame和window的名字,用于在其他frame或window指定target。
以下只能用id:
1.label与form控件的关联,
for属性指定与label关联的元素的id,不可用name替代。
2.CSS的元素选择机制,以#MyId的方式指定应用样式的元素,不能用name替代。
3.脚本中获得对象:
className属性。据CSDN博客显示,c修改元素类名的方式操作元素的css用className属性。
className属性是一个可读可写的的属性,若只要是元素节点都有className属性,可以使用className属性得到一个元素的class属性并且还能用于赋值操作。