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.脚本中获得对象:
比如两个input标签,name的值一个是a一个是b,是name的值为a的标签添加背景色
input[name="a"]{bakcground:#ccc
}