Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拆分a";“大”;表到较小的表_Javascript_Jquery_Html_Html Table - Fatal编程技术网

Javascript 拆分a";“大”;表到较小的表

Javascript 拆分a";“大”;表到较小的表,javascript,jquery,html,html-table,Javascript,Jquery,Html,Html Table,我想将一个“大”表(很多列)拆分为更小的表,例如每2列 有没有一个简单的方法 我只有这张桌子。例如,我想每两列拆分一次。因此,我应该有一个包含#列的三个表,每个表包含大表中的两个列 所需输出:使用XSLT,您可以轻松解决问题 请访问此处:函数拆分($table,chunkSize){ var cols=$(“th”,表$).length-1; var n=cols/chunkSize; 对于(var i=1;i 1;j--){ 如果(j+chunkSize-1 chunkSize*i+1){ $

我想将一个“大”表(很多列)拆分为更小的表,例如每2列

有没有一个简单的方法

我只有这张桌子。例如,我想每两列拆分一次。因此,我应该有一个包含
#
列的三个表,每个表包含大表中的两个列


所需输出:

使用XSLT,您可以轻松解决问题

请访问此处:

函数拆分($table,chunkSize){
var cols=$(“th”,表$).length-1;
var n=cols/chunkSize;
对于(var i=1;i 1;j--){
如果(j+chunkSize-1 chunkSize*i+1){
$('td:n个子('+j+')、第th:n个子('+j+')、$newTable.remove();
}
}
}  
}
其中,
$table
是table jQuery对象,
chunkSize
是每个分割的大小。在您的示例中,将其称为
split($(“表”),2)
。请注意,
chunkSize
必须平均划分列数(不包括第一列)才能正常工作,例如,对于包含7列的表,
chunkSize
的有效值为1、2和3


我制作了更好版本的表拆分函数,它支持固定列(在所有表中重复),并且浪费了很多时间:

功能范围(开始、结束){
var数组=新数组();
对于(var i=start;i这要简单得多

1) 标记TR:

<tr><td>some</td><!-- SPLITHERE -->
一些
2) 拆分表:

document.body.innerHTML = document.body.innerHTML.replace(/<!-- SPLITHERE --\>\s*<\/tr>/i, '</tr></table></div><div class="eachPage"><table class="items">');

document.body.innerHTML=document.body.innerHTML.replace(/您想要的输出有点混乱。请为您想要的输出创建HTML代码。这里是:您想要一个特定于此示例的答案还是一个通用答案?我相信通用答案对其他人也会更有帮助..嗯,您不能为列分配类,克隆表,然后根据t隐藏类吗able/column类?有这样一个例子吗?XSLT是一个很好的建议,但需要先将这些数据转换为格式良好的XML文档。看起来不错,但如果有多个固定列,它就会断开。在fiddle上检查此项您可以使用
var n=Math.ceil(cols/chunkSize);
,它将拆分您的6列表(不包括第一行)放入一个4列和2列的表中,如果您使用
拆分($(“表”),4)
如何使用colspan处理表数据,我尝试使用此示例,但我的前2行包含所有colspan,并且由于列的数量不匹配,它会弄乱它下面的所有行
document.body.innerHTML = document.body.innerHTML.replace(/<!-- SPLITHERE --\>\s*<\/tr>/i, '</tr></table></div><div class="eachPage"><table class="items">');