Sal*_*uts 54 html label nested
我在页面中有一个表格,其中包含左侧单元格中的复选框和右侧单元格中的说明."描述"包含h4标题和纯文本.我想把整个描述(里面的一切<td></td>)都做成标签.
所以每一行看起来像这样:
<tr><td><input type="checkbox" name="entiries[]" value="i1" id="i1"></td>
<td><label for="i1">
<h4>Some stuff</h4>more stuff..
<h4>Some stuff</h4>more stuff..
</label>
</td></tr>
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用,文本不像标签那样且不可点击.我正在使用Firefox 3.6进行测试.如果我删除<h4>标签它开始工作,但这使格式化变得复杂.<h*>标签是否存在阻止<label>正常工作的问题?
Tat*_*nen 53
h4内联元素中不允许使用块级元素(属于),并且会导致未定义的行为.您可以使用span元素.
Que*_*tin 28
只有内联元素(其他标签元素除外)可能会出现在标签元素中.
<!ELEMENT LABEL - - (%inline;)* -(LABEL) -- form field label text -->
Run Code Online (Sandbox Code Playgroud)
- http://www.w3.org/TR/html4/interact/forms.html#h-17.9.1
无论如何将标题放在那里是没有意义的.
Jam*_*xon 16
<label>HTML中的元素是内联级元素,不能包含块级元素.
这可能是导致您的问题的原因.或者你可以把你的标签放在<h4>'s:
<tr><td><input type="checkbox" name="entiries[]" value="i1" id="i1"></td>
<td><
<h4><label for="i1">Some stuff</label></h4>more stuff..
<h4><label for="i1">Some stuff</label></h4>more stuff..
</label>
</td></tr>
Run Code Online (Sandbox Code Playgroud)