2

我遇到了tr:last 选择器的问题。

我有一个基本表:

<table id="myTable">
 <tr>
   <td>1</td>
   <td></td>
 </tr>
</table>

当用户单击链接时,它会使用以下方法向我的表中添加一个附加行:

$("a#more").live("click", function(){

  $table = $('#myTable');
  var a = $table.find('tr:last').clone(true);
  $table.find('tr:last').after(a);  

});

这就像一个魅力。但是,当我决定在td我的表的最后一个表中添加一个额外的表时,问题就开始了:

<table id="myTable">
 <tr>
  <td> 1 </td>
  <td>
    <table id="myTable2">
    <tr><td> Additional Information </td></tr>
    </table>
  </td>
</tr>
</table>

当我使用clone 这个时间时,它会选择我的第二个表的最后一行并将新行复制到我的第二个表。我的目标是只复制我的第一个表的整个最后一行,并创建一个tr包含所有内容的新表(包括第二个表的副本)。

我不知道该怎么做。

4

1 回答 1

5

代替

var a = $table.find('tr:last').clone(true);

用于.children()将其限制为原始表:

var a = $table.children('tbody').children('tr:last').clone(true);
于 2013-02-25T19:22:49.500 回答