Pra*_*tik 42
以下是两者之间的一些区别:
除了表单控件之外的其他元素上使用name属性在HTML4.01中与id的相同,但是它允许比id属性更宽泛的字符集,并且不以完全相同的方式控制.由于这种不明确性,W3C决定弃用/删除这些元素的name属性,转而支持XHTML中的unambigous id属性.这也与XML的另一个细节有关 - 但是只有任何元素的一个属性可以是ID类型,如果它们让名称保留在元素上但纠正了歧义问题,则不会是这种情况.
由于name属性在这两组元素上的工作方式不同,因此最好删除它们.
简而言之,对于向后兼容性,如果使用HTML4.01或XHTML1.0 Transitional,则应对除表单控件之外的所有元素使用name和id属性(均设置为相同值).如果您使用XHTML1.0 Strict或更高版本,则应仅使用id.对于表单控件,您应该使用名称来表示您希望表单发送到服务器以及DOM0访问,并且仅使用id进行样式设置,DOM1-3访问或解决原因