是否有任何理由不将标签的属性 ID 和名称设置为相同?
例子:
<input type="text" id="Label" name="Label" />
我正在处理的项目将 name 属性与 SQL 数据库一起使用。ID 属性用于 JavaScript。
id
如果您遵循围绕 id 和名称的所有规则,则匹配s 和name
s没有任何害处(以及一些代码管理优势,因为事情保持简单) ,但 aid
必须是唯一的,但有时 aname
必须重复所以它不是总是可能的。
例如:
<input type="radio" name="myRadio" value="a" id="myRadio_a"><label for="myRadio_a">A</label>
<input type="radio" name="myRadio" value="b" id="myRadio_b"><label for="myRadio_b">B</label>
<input type="radio" name="myRadio" value="c" id="myRadio_c"><label for="myRadio_c">C</label>
或者,再举一个例子,如果您在同一页面上有两个相似的表单(例如登录和注册)。
就像 Quentin 说的,由于 name 和 id 有两个用途,所以有时需要跨多个字段使用相同的 name,这是 ids 所不允许的。另一个示例,其中多个字段的名称必须相同是复选框。
关于在一个标签中为 id 和 name 使用相同的文本,这样做是完全合法的。除了复选框或单选按钮等分组之外,我倾向于对所有内容都这样做。
我不确定这是否是最佳做法,它可能会让您感到困惑,但这不是问题,浏览器将它们视为两种不同的东西。