我正在构建一个包含动态字段数的大型表单,我不想这样做:
<label for="foo">Text</label><input id="foo">
通常我会这样做,但我不想在foo的1-50中摸索,也不想在用户添加新行时以编程方式递增更多内容。我read而不是使用for属性,只要标签中只有一个控件,通过在控件周围包装标签就可以隐式地将标签与控件相关联。即:
<label>Text<input></label>
但是,我还想做一些比这更具风格的造型。
我可以这样做吗?
<label><span>Text</span><input></label>
或者是无效的标记?
答案 0 :(得分:0)
扩大对忧郁症的评论。 MDN label documentation表示标签元素可以包含“ phrasing content”,但不包括其他标签。这包括跨度。
答案 1 :(得分:-1)
文档类型不允许元素&#34; LABEL&#34;这里;缺少&#34; P&#34;,&#34; H1&#34;,&#34; H2&#34;,&#34; H3&#34;,&#34; H4&#34;,&# 34; H5&#34;,&#34; H6&#34;,&#34; PRE&#34;,&#34; DIV&#34;,&#34; ADDRESS&#34;开始标记。
上述元素不允许出现在您放置的上下文中;其他提到的元素是唯一允许存在的元素,并且可以包含所提到的元素。这可能意味着您需要一个包含元素,或者您可能忘记关闭前一个元素。
此消息的一个可能原因是您尝试放置块级元素(例如&#34;&lt; p&gt;&#34;或&#34;&lt; table&gt;&#34 ;)内联元素(例如&#34;&lt; a&gt;&#34;,&#34;&lt; span&gt;&#34;或&#34;&lt; font&gt;&#34 ;)