3

我完全理解在标签上使用“for”属性的好处。我想这是关于 HTML 规范本身的问题:为什么创作者想要将标签与 ID 匹配,而不是在字段上使用“名称”属性?

无论如何,该字段的名称应该是唯一的,对吧?那么,为什么在 99% 的情况下,字段 ID 最终与字段名称直接匹配时,为什么要向字段添加另一个属性和额外的 HTML?

编辑

在单选按钮的情况下,正如你们中的许多人所说,名称不是唯一的,但在这种情况下,您不需要标签的“for”元素,因为您可以将label字段本身包裹起来,正确?

4

2 回答 2

2

name属性并不总是唯一的:单选按钮通常共享相同的name.

编辑

输入可以包装在标签中,这是有效的。但是可以想到您不能或不想包装标签的情况。例如,如果标签与其他 HTML 的输入分开。

于 2013-03-14T13:51:29.503 回答
0

这个名字不是唯一的我的朋友!就像单选按钮 btw ;) 所有选择器都基于 ID。

例子:

<fieldset>
 <label for="radio1">
 <input type="radio" name="allRadios" id="radio1">
 <label for="radio2">
 <input type="radio" name="allRadios" id="radio2">
</fieldset>

JavaScript 函数:

document.getElementsByName("allRadios") 给出一个数组,即使只有一个名为 radio 的元素,而 document.getElementById("radio1") 给出一个 DOM 元素。

例子:

于 2013-03-14T13:50:46.630 回答