有没有办法让HTML标签与没有ID的表单元素一起工作?

有没有办法让HTML标签与没有ID的表单元素一起工作?,html,Html,例如,假设: <label for="username">Username:</label> <input id="username" name="username" value="" /> 用户名: 单击“用户名:”标签时,焦点转到相应的表单字段 如果不使用JavaScript,当表单字段没有ID时是否可能有相同的行为 在现实世界中,这将是一个问题,对于动态构造的表单,您可以向表单中添加类似的字段,或者可能添加同一表单的多个实例。我正在考虑的解决方案是在

例如,假设:

<label for="username">Username:</label>
<input id="username" name="username" value="" />
用户名:
单击“用户名:”标签时,焦点转到相应的表单字段

如果不使用JavaScript,当表单字段没有ID时是否可能有相同的行为


在现实世界中,这将是一个问题,对于动态构造的表单,您可以向表单中添加类似的字段,或者可能添加同一表单的多个实例。

我正在考虑的解决方案是在ID中添加一些内容以使其唯一。例如,时间戳:

<label for="username-12019734517">Username:</label>
<input id="username-12019734517" name="username" value="" />
用户名:

是,标签与它包含的第一个输入隐式关联:

<label>Username:
<input name="username" value="" />
</label>
用户名:
从:

要隐式地将标签与另一个控件关联,控件元素必须位于标签元素的内容内


事实上,我认为在标签中嵌套输入是更好的实践;通过消除单选按钮或复选框及其标签之间不可单击的空格,它可以更具语义,在某些情况下还可以提供更好的用户界面。

如果您的问题有真实答案,我会感到惊讶,但我将拭目以待。一种解决方法是以编程方式构造ID。因此,如果您有一个要复制的表单,请为每个实例指定其自己的名称和id,如
form0、form1
,以及其输入id,如
form0\u username
,等等。

您应该将其添加到问题中(并将其作为答案删除)。使用问题下的编辑链接来更新它。但这本身不是一个答案吗?这太棒了!谢谢!:)