我需要使用jQuery将表拆分为特定行号的两个表。可以这样做吗?
我用谷歌搜索但找不到任何东西。 jQuery非常强大,我原以为这可以做到。表没有编号,所以jQuery需要索引行。
非常感谢任何帮助。
C
答案 0 :(得分:8)
jQuery Slice方法在这种情况下很有用:documentation here
在html中添加一些包含某些行的表:
<table id="mainTable">
<tr>
<td>Row 1</td>
<td>Dummy Data</td>
</tr>
<tr>
<td>Row 2</td>
<td>Dummy Data</td>
</tr>
<tr>
<td>Row 3</td>
<td>Dummy Data</td>
</tr>
<tr>
<td>Row 4</td>
<td>Dummy Data</td>
</tr>
<tr>
<td>Row 5</td>
<td>Dummy Data</td>
</tr>
<tr>
<td>Row 6</td>
<td>Dummy Data</td>
</tr>
<tr>
<td>Row 7</td>
<td>Dummy Data</td>
</tr>
<tr>
<td>Row 8</td>
<td>Dummy Data</td>
</tr>
<tr>
<td>Row 9</td>
<td>Dummy Data</td>
</tr>
<tr>
<td>Row 10</td>
<td>Dummy Data</td>
</tr>
</table>
使用jQuery切片n行,创建新的表实例并追加行:
<script type="text/javascript">
jQuery(document).ready(function() {
var $mainTable = $("#mainTable");
var splitBy = 5;
var rows = $mainTable.find ( "tr" ).slice( splitBy );
var $secondTable = $("#mainTable").parent().append("<table id='secondTable'><tbody></tbody></table>");
$secondTable.find("tbody").append(rows);
$mainTable.find ( "tr" ).slice( splitBy ).remove();
});
</script>
答案 1 :(得分:0)
这也可以通过clone()完成
var $mainTable = $("table.mainTable");
$mainTable.clone().appendTo($mainTable.parent()).find('tbody tr').slice(0, 4).remove();
$mainTable.find('tbody tr').slice(4).remove();