用于属性说明的 HTML5 标签

2024-04-18

引用 HTML5 最终规范 (http://www.w3.org/TR/html5/forms.html#attr-label-for http://www.w3.org/TR/html5/forms.html#attr-label-for):

The for可以指定属性来指示与标题相关联的表单控件。如果指定了该属性,则该属性的值必须是ID of a labelable element与标签元素位于同一文档中。如果指定了该属性并且文档中存在一个元素,其ID等于的值for属性,和第一个这样的元素 is a labelable element,那么该元素就是 label 元素的标记控件。

最后一句话的措辞很奇怪:它谈论的是“第一个这样的元素” 在单个元素中,似乎暗示文档中可以有多个具有相同 ID 的元素。粗体部分是否应理解为“和那个元素"?

编辑。回答我问题的人似乎相信规范正在定义一种行为,以防规范规则之一(唯一 ID)被破坏。这对我来说听起来完全难以置信。如果您违反了规范中的规则,您将自行承担风险并获得未定义的行为。我从来没有见过这样的规范:这是规则,但如果你违反了它,别担心,事情仍然会像这样那样工作。


我不代表作者发言,但我认为它应该按原样阅读。

如果指定了该属性并且Document中有一个元素的ID等于for属性的值,并且第一个这样的元素 is a labelable元素,那么该元素就是 label 元素的带标签控件。

注意我强调的第一个这样的元素。考虑一个有两种表单的场景。有可能有两种情况input与相同的id以不同的形式。你可能会用两个labels 代表每个输入。该规范的含义是labels are for首先input与匹配的id在文件中。换句话说,如果你有两套label with for=elm and an input with for=elm,两者都labels 将指向首先input.

看看这个:http://jsfiddle.net/Lxg5rrk6/2/ http://jsfiddle.net/Lxg5rrk6/2/

另外,我强烈建议您不要使用代表两个inputs 在同一页面中具有相同的id,尽管现在您可能已经意识到它会破坏您的页面。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于属性说明的 HTML5 标签 的相关文章

随机推荐