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

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


当前回答

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

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

其他回答

id将给一个元素一个id,所以一旦你编写了真正的代码(比如JavaScript),你就可以使用这个id来读取元素。名称只是一个名称,所以我想用户可以看到元素的名称。

例子:

<h1 id="heading">text</h1>
<script>
  document.getElementById("heading"); // Reads the element that has the id "heading".
</script>
// You can also use something like this:
document.getElementById("heading").value; // Reads the value of the selected element.

在表单提交中发送数据时使用name属性。不同的控件响应不同。例如,您可能有几个具有不同id属性但名称相同的单选按钮。提交后,响应中只有一个值-您选择的单选按钮。

当然,这还不止于此,但它肯定会让你朝着正确的方向思考。

下面是id属性的有趣用法。它在<form>标记中使用,用于识别</form>边界之外的<input>元素的表单,以便将它们与表单中的其他<input〕字段一起包含。

 <form action="action_page.php" id="form1">
     First name: <input type="text" name="fname"><br>
     <input type="submit" value="Submit">
 </form>

 <p>The "Last name" field below is outside the form element, but still part of the form.</p>
 Last name: <input type="text" name="lname" form="form1">

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旧。

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

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