我遇到了tr:last
选择器的问题。
我有一张基本表:
<table id="myTable">
<tr>
<td>1</td>
<td></td>
</tr>
</table>
当用户点击某个链接时,它会使用以下内容向我的表中添加一个addtional行:
$("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
(包括第二个表的副本)。
我不知道该怎么做。
答案 0 :(得分:5)
而不是
var a = $table.find('tr:last').clone(true);
使用.children()
将其限制为原始表:
var a = $table.children('tbody').children('tr:last').clone(true);