如何使用jQuery克隆表行?

时间:2013-01-19 17:05:35

标签: javascript jquery

我想要克隆我的tr类行。因此,当用户单击某个按钮时,该行将克隆并将设置在最后一行的下方。

我目前使用以下代码,只是它无法正常工作。我可能不正确。

JS:

var row = jQuery('.ui-sortable').closest('.ui-sortable').find('tbody tr.row.ui-sortable:last-child');
var clone = row.clone();

克隆字段如下所示:

HTML标记:

echo '<tbody class="ui-sortable">';
echo '<tr class="row">';
echo '<td class="order">1</td>';

// Do some stuff inside the row.

echo '<td class="remove"><a class="repeatable-remove button" href="#">-</a></td>';
echo '</tr>'; // End .row
echo '</tbody>';

我认为javascript的第一段代码不正确。

1 个答案:

答案 0 :(得分:0)

如果按钮里面要克隆的行,则以下内容应该有效。 (它可能不完全正确,但它可能很接近)。

$('#your-table').on('click', '.copy-row-button', function() {
  var 
    $table = $(this).closest('table'),
    $row = $(this).closest('tr'),
    $newRow = $row.clone();

  $table.append($('<tbody/').append($newRow));
});

我附加了包含在新<tbody>元素中的行,因为Internet Explorer可能会在将<tr>附加到现有表格主体时出现问题。

代码还使用表格和按钮的化妆选择器;您可以使用您需要的任何ID /类值来创建页面。