精确克隆表格行

时间:2015-05-21 16:08:55

标签: jquery

我想使用jquery制作表格第一行的精确副本。我在另一个问题中找到了一个非常有用的jquery(对作者道歉,我再也找不到了)并修改了他的小提琴。

fiddle showing column cloned

我也需要克隆格式 - 所以:

<tr style="font-weight:bold">Fred</tr>

文本是粗体的事实也被克隆。在我发布的小提琴中,不会复制粗体格式。我怎么能包括那个?

3 个答案:

答案 0 :(得分:0)

由于样式位于<tr>本身,克隆整行......然后操纵克隆

$("#sourceT tr").each(function () {
    // make clone of row
    var $clone = $(this).clone();
    // remove all but first cell in clone
    $clone.children(':gt(0)').remove();
    //append clone
    $target.append($clone)
});

单线方法将是

$(this).clone().children(':gt(0)').remove().end().appendTo($target);
// OR
$target.append( $(this).clone().children(':gt(0)').remove().end() );

DEMO

答案 1 :(得分:0)

由于样式是在tr元素上设置的,因此该文本未在克隆上以粗体显示,但您创建了一个新的样式并仅复制td元素。如果要克隆整个事物,可以简单地克隆this中引用的元素并将其附加到另一个表中:

var $target = $("#targetT");
$("#sourceT tr").each(function () {
    $(this).clone().appendTo($target);
});

Example fiddle

或更短的时间:

$('#sourceT tr').clone().appendTo('#targetT');

答案 2 :(得分:0)

var $target = $("#targetT");
$("#sourceT tr:first").clone().appendTo($target);

这会将第一行克隆到目标中。 Demo Fiddle