页面上有很多表格。我想在一个tr
之后添加包含现有数据的新行。所以我有一张桌子:
<table>
<tr>
<th>...</th>
<td>...</td>
</tr>
</table>
<p id="add-tr">[add]</p>
当我点击[add]
时,我想添加一个包含现有tr
和th
元素的新td
。
我找到了最后一张表:
$('#add-tr').on('click',function(){
$(this).prev('table')...;
});
(用hide()func检查)接下来怎么办?试过:
$(this).prev('table').closest('tr').clone();
但没效果!
我在stackoverflow的第一个问题!所以不要太苛刻,谢谢!
答案 0 :(得分:5)
您应该使用find
或children
方法并附加行,closest
方法选择最接近的元素父级。
var $table = $(this).prev('table');
$table.find('tr:first').clone().appendTo($table);
答案 1 :(得分:1)
你真的很接近,只需要使用.find()而不是.closest()选择内部的tr,然后选择.appendTo()的位置:
$('#add-tr').on('click',function(){
$(this).prev('table').find('tr').first().clone().appendTo('table');
});
答案 2 :(得分:0)
我认为你克隆了它,但现在你需要实际添加它:
var myRow = $(this).prev('table').closest('tr').clone();
$(this).prev('table').closest('tr').append(myRow);
或类似的