我需要一些输入元素,但它们的值不会在任何地方提交 - 它们只是被一些客户端JavaScript操纵.我是否必须将它们置于<form>
具有合法HTML的位置,或者它们只能是独立的?
我想知道如果我嵌套2个<label>
标签会发生什么,事实证明,在所有浏览器的所有最新版本中,除了Opera之外,单击内部标签会导致仅点击该标签.这是嵌套标签标签行为的演示.
我的问题是:在嵌套标签中处理点击事件时,浏览器的行为是否有任何标准?我所能找到的只是关于Gecko行为的MDN部分,但我找不到其他浏览器的内容.
究其原因,这是对我有意思是因为如果它是可以嵌套的标签标签,仍然能够与它最接近的周边标签,选择正确的输入,那么它有可能使类似的东西真棒这.如果没有在任何标准中定义嵌套标签行为(因此任何浏览器都可以做任何他们想做的事情),这根本不是一个选项,即使将来也不是.任何此类标签的格式为:
<label>
<input type="radio" name="1">
<span>Shown label</span>
<div>Contents of the tab</div>
<!--repeat, put further identically-formatted <label>s here-->
</label>
Run Code Online (Sandbox Code Playgroud)
这个标签系统已经可以在没有嵌套标签时,通过for
为标签分配属性和id
输入,但是你必须担心每个输入的唯一ID,这比仅仅做它更多的努力这条路.这是另一个演示(正如您所看到的,正确标记现在检查的标签是不可能的).
<label for="tabN">
<span>Shown label<span>
</label>
<input type="radio" name="1">
<div>Contents of the tab</div>
<!--repeat, put further identically-formatted structures here-->
Run Code Online (Sandbox Code Playgroud)
PS:请不要回答这个问题:"这不是输入和标签的设计目的!".我知道,我只是想知道是否有任何希望成为可能,包括在Opera.