使用jquery将每行1列创建为每行表2列

我有一个奇怪的问题。

我有一个表格,将输出显示为

User1 User2 User3 User4 ...... 

这将有很多行。

现在这是一些控件的输出

我想将数据显示为

 User1 User3 User2 User4 

要么

 User1 User2 User3 User4 

所以我的表被拆分为显示两列而不是一列。

我试图使用一些后jquery方法,但没有成功。

表没有标题。

任何帮助表示赞赏。

编辑

整个html是由asp.net网格视图生成的输出。

由于网格视图支持分页,所以我使用gridview,然后根据要求我想拆分它。

像下面这样的东西会起作用:

 var $tds = $("#yourtable td"), i, j; for (i=0, j=Math.ceil($tds.length / 2); j < $tds.length; i++,j++) $($tds[i]).parent().append($tds[j]); 

如本演示所示。

注意, Math.ceil()位允许奇数行(也在我的演示中显示)。

(显然,只有当表只有一列开头时,上述情况才有效。)

非常基本的代码,为用户定义的#td工作,你只需要改变nCol的值。

     Nimit Table two colonm     
Item1
Item2
Item3
Item4
Item5
Item6
Item7
Item8
Item9
Item10

没有经过测试 ,但您可以执行以下操作:

$(".your_table_class > tbody > tr").each(function() { var $tr = $(this).addClass("column01"), $tds = $tr.children(), midSection = Math.floor($tds.length / 2), $newColumn = $('', {class: "column02"}).insertAfter($tr); $tds.each(function(j) { j > midSection && $(this).appendTo($newColumn); }); });
$(".your_table_class > tbody > tr").each(function() { var $tr = $(this).addClass("column01"), $tds = $tr.children(), midSection = Math.floor($tds.length / 2), $newColumn = $('', {class: "column02"}).insertAfter($tr); $tds.each(function(j) { j > midSection && $(this).appendTo($newColumn); }); }); 

希望能帮助到你

最后,我使用以下方法解决了我

 $(document).ready( function () { for (var i = 0; i <= $('.grid tr').length - 3; i = i + 2) { $('.grid tr').eq(i).append($('.grid tr').eq(i + 1).html()); $('.grid tr').eq(i + 1).hide(); } } ); 

不知道这段代码有多糟糕。

请帮助改善这一点。

谢谢