id和name属性之间有什么区别?它们似乎都具有提供标识符的相同目的。

我想知道(特别是关于HTML表单)是否出于任何原因需要或鼓励同时使用两者。


当前回答

根据个人经验和W3Schools属性描述:

ID是一个全局属性,几乎适用于HTML中的所有元素。它用于唯一标识网页上的元素,其值主要从前端访问(通常通过JavaScript或jQuery)。

name是对HTML中的特定元素(如表单元素等)有用的属性。它的值大部分被发送到后端进行处理。

HTML属性引用

其他回答

根据个人经验和W3Schools属性描述:

ID是一个全局属性,几乎适用于HTML中的所有元素。它用于唯一标识网页上的元素,其值主要从前端访问(通常通过JavaScript或jQuery)。

name是对HTML中的特定元素(如表单元素等)有用的属性。它的值大部分被发送到后端进行处理。

HTML属性引用

name和id都可以被#作为目标,因此不确定为什么只为该任务提及id。

我经常检查这些属性,以创建指向书签的特定链接(由于某些原因,没有提供使用鼠标光标单击标题以进行相同操作),例如Option File InclusionsMySQL 5.6 4.2.2.2使用选项文件文档部分:

https://dev.mysql.com/doc/refman/5.6/en/option-files.html#option-文件内含物

其中定义为<a name=“option file inclusions”></a>(绝对不涉及表单)。

我认为,在HTML中,name属性也比id旧。

参见id=vs name=:

有什么不同?简单的答案是,两者都用,不用担心。但如果你想了解这种愚蠢,这里有一个小问题:id=用作如下目标:<some element id=“XXX”></some element>用于以下链接:<a href=“#XXX”。

name=还用于在表单中点击提交时,使用HTTP(超文本传输协议)GET或POST标记发送到服务器的消息中的字段。id=标记JavaScript和Java DOM(文档对象模型)使用的字段。name=中的名称在表单中必须唯一。id=中的名称必须在整个文档中唯一。有时,名称=和id=名称会有所不同,因为服务器希望同一文档中的不同表单或同一表单中的不同单选按钮具有相同的名称。id=必须唯一;名称=不能为。JavaScript需要唯一的名称,但是这里已经有太多的文档没有唯一的name=name,所以W3的人发明了需要唯一的id标签。不幸的是,较旧的浏览器不理解它。因此,您需要在表单中使用这两种命名方案。

注意:HTML5中不支持某些标签(如<a>)的属性“name”。

使用表单控件的名称属性(如<input>和<select>),因为这是表单提交时POST或GET调用中使用的标识符。

每当需要使用CSS、JavaScript或片段标识符来处理特定的HTML元素时,请使用id属性。也可以按名称查找元素,但按ID查找更简单、更可靠。

ID用于唯一标识元素。

名称用于表单中。虽然您提交了一份表格,但如果您不提供任何名称,将不会提交任何内容。因此,表单元素需要一个名称来通过表单方法(如“get或push”)进行标识。

只有具有name属性的才会熄灭。