Jquery:如何将TD转移到另一个TR?
我生成了html,我需要使用Jquery重构html,如下所示:
原版的:
Col 1 Value Col 2 Value Col 3 Value Col 4 Value
预期:
Col 1 Value Col 2 Value Col 3 Value Col 4 Value
var tableNew = ""+ "new "+ " "+ "
"; $('#myTableID').replaceWith(tableNew);
我想出了迭代和替换的想法,任何更好的主意?
这个单行jQuery将满足您的需求。 只需将它应用于您需要重新格式化的每一行:
$('#tr01').append($('#tr02').contents());
这里有一个小提琴
试试这样:
$( "#tr03 > td" ).appendTo( "#tr01" );
您可以参考: http : //api.jquery.com/appendTo/
我的一分钱 – 使用克隆复制td然后移动tds,以便保存附加到它们的事件,如果有的话。
尝试
var $rows = $('#myTableID tr'); $rows.slice(0, Math.ceil($rows.length / 2)).each(function () { var $this = $(this), index = $this.index(); $this.append($rows.eq(index * 2).find('td')) $this.append($rows.eq(index * 2 + 1).find('td')) })
演示: 小提琴
这是您可以通过单击按钮创建/替换表的其他选项
max = 2 $("button").click(function() { var tr = $("table tr:last"); if(!tr.length || tr.find("td").length >= max) $("table").append(""); $("table tr:last").append("hi "); });
var all_td = $('#myTableID tr').map(function () { return $(this).html(); }).get(); $('#myTableID tr').empty().each(function(i){ var ret = all_td.slice(i*2,++i*2); $(this).html(ret); });
小提琴演示
每个tr
将有两个td