将HTML表划分为多表JQuery

将HTML表划分为多表JQuery,jquery,html-table,Jquery,Html Table,我仍然被困在这个问题中。我想基于列分隔符从单个表动态创建多个表。比方说,我在一个表中有11列,分隔符是3。因此,将有三个表和三列,第四个表将有两列。我还想在每个表中重复标题。下面是示例HTML表 <table class="PrintTable"> <tr> <td> <table> <thead> <tr><th>Typ

我仍然被困在这个问题中。我想基于列分隔符从单个表动态创建多个表。比方说,我在一个表中有11列,分隔符是3。因此,将有三个表和三列,第四个表将有两列。我还想在每个表中重复标题。下面是示例HTML表

<table class="PrintTable">
    <tr>
      <td>
        <table>
            <thead>
                <tr><th>Type Of Transaction</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Name</td>
                </tr>
                <tr>
                    <td>Age</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2006</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Andi</td>
                </tr>
                <tr>
                    <td>25</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2007</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>tom</td>
                </tr>
                <tr>
                    <td>26</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2008</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Tiger</td>
                </tr>
                <tr>
                    <td>28</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2009</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Horse</td>
                </tr>
                <tr>
                    <td>28</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2011</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Twinkle</td>
                </tr>
                <tr>
                    <td>28</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2012</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Haris</td>
                </tr>
                <tr>
                    <td>28</td>
                </tr>
            </tbody>
        </table>
      </td>
       <td>
        <table>
            <thead>
                <tr><th>2013</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>LEno</td>
                </tr>
                <tr>
                    <td>28</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2014</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Jay</td>
                </tr>
                <tr>
                    <td>28</td>
                </tr>
            </tbody>
        </table>
      </td>
    </tr>

</table>

交易类型
名称
年龄
2006
安迪
25
2007
汤姆
26
2008
老虎
28
2009
马
28
2011
闪烁
28
2012
哈里斯
28
2013
纱罗
28
2014
杰伊
28
预期产出:-

<table class="PrintTable">
    <tr>
      <td>
        <table>
            <thead>
                <tr><th>Type Of Transaction</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Name</td>
                </tr>
                <tr>
                    <td>Age</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2006</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Andi</td>
                </tr>
                <tr>
                    <td>25</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2007</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>tom</td>
                </tr>
                <tr>
                    <td>26</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2008</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Tiger</td>
                </tr>
                <tr>
                    <td>28</td>
                </tr>
            </tbody>
        </table>
      </td>

    </tr>

</table>


<table class="PrintTable">
    <tr>
      <td>
        <table>
            <thead>
                <tr><th>Type Of Transaction</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Name</td>
                </tr>
                <tr>
                    <td>Age</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2009</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Horse</td>
                </tr>
                <tr>
                    <td>28</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2011</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Twinkle</td>
                </tr>
                <tr>
                    <td>28</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2012</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Haris</td>
                </tr>
                <tr>
                    <td>28</td>
                </tr>
            </tbody>
        </table>
      </td>
    </tr>

</table>

<table class="PrintTable">
    <tr>
      <td>
        <table>
            <thead>
                <tr><th>Type Of Transaction</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Name</td>
                </tr>
                <tr>
                    <td>Age</td>
                </tr>
            </tbody>
        </table>
      </td>
       <td>
        <table>
            <thead>
                <tr><th>2013</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>LEno</td>
                </tr>
                <tr>
                    <td>28</td>
                </tr>
            </tbody>
        </table>
      </td>
      <td>
        <table>
            <thead>
                <tr><th>2014</th></tr>
            </thead>
            <tbody>
                <tr>
                    <td>Jay</td>
                </tr>
                <tr>
                    <td>28</td>
                </tr>
            </tbody>
        </table>
      </td>
    </tr>

</table>

交易类型
名称
年龄
2006
安迪
25
2007
汤姆
26
2008
老虎
28
交易类型
名称
年龄
2009
马
28
2011
闪烁
28
2012
哈里斯
28
交易类型
名称
年龄
2013
纱罗
28
2014
杰伊
28

任何帮助都将不胜感激。

若要打破表格,只保留前3列:

newT = jQuery('<tr></tr>');
jQuery('.PrintTable table:lt(3)').each(
 function(i,el){
  td = jQuery('<td/>');
  td.append(jQuery(el).clone());
  newT.append(td);
 });
jQuery('.PrintTable').html(newT);
您将得到第一列以及索引3和6之间的列

实际上,您可以合并2个索引,因此只需更改2个索引即可创建正确的表这是您需要的截取代码。

newT = jQuery('<tr></tr>');
jQuery('.PrintTable table:first').add('.PrintTable table:gt(0):lt(3)').each(
 function(i,el){
  td = jQuery('<td/>');
  td.append(jQuery(el).clone());
  newT.append(td);
 });
jQuery('.PrintTable').html(newT);

有没有办法避免嵌套表?这通常是一个迹象,表明有更好的方法来构建您的设计。您发布的代码是相同的,只是第二个代码的列更少。这就是你想做的吗?不是更正表结构,而是删除一些列?(3对7列)原始表中是否有
rowspan
colspan
行?@Kissaki-我想将一个包含20列的表拆分为两个包含10列的表,每个表中都复制了表头。我希望我能为你解释所有的编辑,但现在已经完成了P测试成功了。哇,太棒了。不
newT = jQuery('<tr></tr>');
jQuery('.PrintTable table:first').add('.PrintTable table:gt(0):lt(3)').each(
 function(i,el){
  td = jQuery('<td/>');
  td.append(jQuery(el).clone());
  newT.append(td);
 });
jQuery('.PrintTable').html(newT);
<table>
    <thead>
        <tr>
          <th>Type Of Transaction</th>
          <th>2006</th>
          <th>2007</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th>Name</th>
            <td>Andi</td>
            <td>tom</td>
        </tr>
        <tr>
            <th>Age</th>
            <td>25</td>
            <td>26</td>
        </tr>
    </tbody>
</table>