jQuery将表拆分为特定行号的两个表

时间:2014-03-08 06:39:28

标签: jquery html

我需要使用jQuery将表拆分为特定行号的两个表。可以这样做吗?

我用谷歌搜索但找不到任何东西。 jQuery非常强大,我原以为这可以做到。

表没有编号,所以jQuery需要索引行。

非常感谢任何帮助。

C

2 个答案:

答案 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>

See working demo here

答案 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();