这在HTML5中是否正确?
是的。
我明白了多个标签可以在一个输入场点,而是一个标签 只能在一个领域
是的,再点。
从这里的规格:https://www.w3.org/TR/html5/forms.html#the-label-element
的字幕可以用特定的形式控制,被称为 标签元件的标记的对照相关联,或者使用用于属性, 或通过将形式控制内标签元素本身。
当没有for
属性和label
嵌套与其贴标签的控制,那么第一个这样的后代成为其贴标签的控制。但是,label
不应与其他label
嵌套。
label.control
属性返回与此元素关联的表单控件。反之亦然,.labels
是laablable控件的只读属性,它返回该控件上所有适用标签的nodelist
。
实施例1:
在下面的例子中,input.labels
属性返回nodeList
它包含两个标签。
var inp = document.getElementById('myInput');
console.log(inp.labels);
<label for="myInput">This is an external label</label>
<br>
<label>
This label is wrapped around
<input type="text" id="myInput">
</label>
实施例2:
在本例中,我已经有目的地相关联的一个标签到两个输入。看到只有遇到的第一个,即for
属性在这里被关联,第二个被忽略,即使它有一个嵌套控件。
var myInput = document.getElementById('myInput'),
yourInput = document.getElementById('yourInput')
;
console.log(myInput.labels);
console.log(yourInput.labels);
<label for="myInput">
\t This is an external label
\t <input id="yourInput">
</label>
<br>
<input type="text" id="myInput">