使用JQuery选择已命名的HTML表中的第一行进行克隆

时间:2013-06-09 04:06:23

标签: jquery html-table row cloning

想要复制特定命名表中的第一行或最后一行。我有大量的列,因此克隆是最好的方法。 I found this code snippet:

var i = 1;
$("button").click(function() ​​​{
  $("table tr:first").clone().find("input").each(function() {
    $(this).val('').attr('id', function(_, id) { return id + i });
  }).end().appendTo("table");
  i++;
})​;​

我的问题是,在哪里更改选择器以指定我要查找的表?如果您take a look at this fiddle,您会注意到添加行只会将添加添加到一个表中,但它似乎会克隆第一个可用表中的行。假设我只想复制table1中的行,因为我要追加到table1。我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

使用from(#table1)和(#table2)表定义的更新代码示例。

var i = 1;
$("button").click(function() ​​​{
  $("table#table1 tr:first").clone().find("input").each(function() {
    $(this).val('').attr('id', function(_, id) { return id + i });
  }).end().appendTo("table#table2");
  i++;
})​;​

答案 1 :(得分:1)

试试这个:

为id表“table1”附加“table”的行:

$("button").click(function() ​​​{
  $("#table1 tr:first").clone().find("input").each(function() {
    $(this).val('').attr('id', function(_, id) { return id + i });
  }).end().appendTo("#table1");
  i++;
})​;​

为id表“table2”附加“table”的行:

$("button").click(function() ​​​{
  $("#table2 tr:first").clone().find("input").each(function() {
    $(this).val('').attr('id', function(_, id) { return id + i });
  }).end().appendTo("#table2");
  i++;
})​;​