为什么 <input> 有时会包含 "id" 和 "name",有时两者都不包含,但会产生相同的视觉输出?

Why does <input> sometimes include "id" and "name" & sometimes neither but producing the same visual output?

方法一,例。 1:

<form>
      <label for="name"> Name: </label>
      <input type="text" id="name" />
</form>

方法一,例。 2:

 <form>
            <label for="name">First name:</label>
            <input id="lfname" name="fname" type="text">
        </form>

—> 这两种结构在浏览器中看起来是一样的。两个输入都包括输入 id 和 + 输入类型(按不同的时间顺序排列,我想这在使用属性时无关紧要?)-但是:如果第二个在浏览器上看起来一样,为什么第二个也再次包括 name= ?

方法二,例。 1:

<form>
      <label>
        Name:
        <input type="text" />
      </label>
</form>

方法二,例。 2:

 <form>
      <label>Name
        <input id="User" name="Name" type="text" />
      </label>
    </form>

—> 这两种结构在浏览器中看起来是一样的。此处:在第二个示例中,使用了输入 ID 和名称,在第一个示例中,两者都被省略,仅指定了类型。怎么会?

输入元素中的名称也用于后端目的和 ID,但在大多数情况下,作为前端开发人员,您会发现自己也在 CSS 和 JAVASCRIPT 中使用它。

属性 name 在 PHP 中有多种用途,它用于获取输入标签的数据等等。

属性 id 也有很多用途,例如 javascript 您可以通过使用 document.getElementById 获得

名称用于 DOM(文档对象模型)中的表单提交。

ID 用于 DOM 中 HTML 控件的唯一名称,尤其是 JavaScript 和 CSS。