在不破坏HTML验证的情况下换行表行
Wrap table rows without breaking HTML validation?
我有一个表,我想包装表行,但问题是我不知道与什么来包装这些家伙…如果我用<div>
, <span>
, <tr>
, <td>
…他们都破坏了我的认可。
那么我可以用什么来包装我的表行而不破坏验证?
这就是我想要它看起来唯一的问题是,我的HTML是无效的。
Here
我正在生成我的包装使用以下Jquery
$(document).ready(function(){
$('tr:first').nextUntil('.section2').andSelf().addClass('section1');
$('tr:nth-child(3)').removeClass('section1').addClass('section2');
$('.section2').nextUntil('.section3').removeClass('section1').addClass('section2');
//Lets wrap those two sections inside divs ...
//This will obviously break my validation:(
$('tr.section1').wrapAll('<div class="section_box1"></div>');
$('tr.section2').wrapAll('<div class="section_box2"></div>');
});
@KevinB在评论中写道,tbody
元素实际上是在包装器元素中对表行进行分组的唯一方法。在静态标记中,这可以是:
<table class="form-table">
<tbody class="bg">
<tr valign="top">
<th scope="row">Hide Menu Background:</th>
<td>
<input type="checkbox" value="value1" name="name1"/>
</td>
</tr>
<tr valign="top">
<th scope="row">
Menu Background:
</th>
<td>
<input type="file" name=""/>
</td>
</tr>
</tbody>
<tbody class="other">
<tr valign="top">
<th scope="row">Hide Sidebar:</th>
<td>
<input type="checkbox" value="value2" name="name2"/>
</td>
</tr>
<tr valign="top">
<th scope="row">Hide Site Title:</th>
<td>
<input type="checkbox" value="value3" name="name3" />
</td>
</tr>
</tbody>
</table>
tbody
元素上的class
属性实际上是不需要的,但是它们可以使样式化更容易一些。
或者,您可以决定这两个部分在逻辑上不是同一个表的真正部分,并使用两个单独的table
元素。如果你想让第二列在不同的位置开始,这是唯一的方法。
我将首先从删除表开始。只有在显示实际的"表格数据"时才使用表才是最佳实践。
<h3 class="title">General Settings:</h3>
<div class="section_box1">
Hide Menu Background: <input type="checkbox" value="value1" name="name1"/><br />
Menu Background: <input type="file" name=""/>
</div>
<div class="section_box2">
Hide Sidebar: <input type="checkbox" value="value2" name="name2"/><br />
Hide Site Title: <input type="checkbox" value="value3" name="name3" />
</div>
见jsfiddle
这样,您可以更自由地添加类/包装器根据需要,仍然是HTML兼容。
相关文章:
- 如何在没有单词的情况下从命令行运行Node.js程序'节点'
- 在不刷新整个网格的情况下,向Asp.net网格视图添加新行
- 默认情况下,在展开和折叠表时隐藏行
- Netsuite Suitelet:在不达到治理限制的情况下,遍历事务行项目的列表加载和提交记录
- 如何在知道行位置的情况下对表进行排序
- 在已知行权重的情况下,如何对表行进行排序
- 在这种情况下,如何获取选定的表tr行
- 在每次迭代后对模板换行进行下划线
- 如何在不使用TableTool的情况下从jquery数据表中获取选定的行索引
- 在导航图标css下换行文本
- 在不使用HTML的情况下对字符串中的换行符进行编码
- 有没有其他方法可以在不对 javascript 中的内容进行换行的情况下打印出调试消息
- 在不换行的情况下缩小浏览器页面时自动调整图片大小
- 如何在不丢失换行符和空格的情况下将js字符串变量传递给php
- Chrome JavaScript 开发者控制台:是否可以在没有换行符的情况下调用 console.log()
- jQuery DataTables:多个表如何在不删除行的情况下复制行
- 在不破坏HTML验证的情况下换行表行
- 在特定情况下HTML和javascript的换行标记
- 如何在没有 Ajax 请求的情况下删除行
- 如何在不引用DOM节点的情况下删除行