id和name属性之间有什么区别?它们似乎都具有提供标识符的相同目的。
我想知道(特别是关于HTML表单)是否出于任何原因需要或鼓励同时使用两者。
id和name属性之间有什么区别?它们似乎都具有提供标识符的相同目的。
我想知道(特别是关于HTML表单)是否出于任何原因需要或鼓励同时使用两者。
当前回答
名称与id
name
元素的名称。例如,服务器用于标识表单中的字段提交。支持元素有<button>、<form>、<fieldset>、<iframe>、,<input>,<keygen>,<object>,<output>,<select>,<textarea>,<map>,<meta>和<param>名称不必是唯一的。
id
通常与CSS一起使用以设置特定元素的样式。这个的价值属性必须唯一。Id是全局属性。全局属性可以用于所有元素,尽管这些属性可能对某些元素没有影响。必须在整个文档中唯一。与此相反,此属性的值不能包含空格class属性,它允许用空格分隔值。使用ASCII字母和数字以外的字符,“_”、“-”和“.”可能会导致兼容性问题,因为HTML 4中不允许这些问题。虽然HTML5中取消了此限制,但ID应该开始带有兼容性字母。
其他回答
在表单提交中发送数据时使用name属性。不同的控件响应不同。例如,您可能有几个具有不同id属性但名称相同的单选按钮。提交后,响应中只有一个值-您选择的单选按钮。
当然,这还不止于此,但它肯定会让你朝着正确的方向思考。
<form action="demo_form.asp">
<label for="male">Male</label>
<input type="radio" name="sex" id="male" value="male"><br>
<label for="female">Female</label>
<input type="radio" name="sex" id="female" value="female"><br>
<input type="submit" value="Submit">
</form>
我思考和使用它的方式很简单:
id用于CSS和JavaScript/jQuery(它在页面上必须是唯一的)。
当表单通过HTML提交时,该名称用于服务器上的表单处理(表单中的名称必须是唯一的-在某种程度上,请参阅下面Paul的评论)。
名称与id
name
元素的名称。例如,服务器用于标识表单中的字段提交。支持元素有<button>、<form>、<fieldset>、<iframe>、,<input>,<keygen>,<object>,<output>,<select>,<textarea>,<map>,<meta>和<param>名称不必是唯一的。
id
通常与CSS一起使用以设置特定元素的样式。这个的价值属性必须唯一。Id是全局属性。全局属性可以用于所有元素,尽管这些属性可能对某些元素没有影响。必须在整个文档中唯一。与此相反,此属性的值不能包含空格class属性,它允许用空格分隔值。使用ASCII字母和数字以外的字符,“_”、“-”和“.”可能会导致兼容性问题,因为HTML 4中不允许这些问题。虽然HTML5中取消了此限制,但ID应该开始带有兼容性字母。
根据个人经验和W3Schools属性描述:
ID是一个全局属性,几乎适用于HTML中的所有元素。它用于唯一标识网页上的元素,其值主要从前端访问(通常通过JavaScript或jQuery)。
name是对HTML中的特定元素(如表单元素等)有用的属性。它的值大部分被发送到后端进行处理。
HTML属性引用