如何使用jquery在表中克隆tr

时间:2012-12-19 21:24:40

标签: jquery

页面上有很多表格。我想在一个tr之后添加包含现有数据的新行。所以我有一张桌子:

        <table>
            <tr>
                <th>...</th>
                <td>...</td>
            </tr>
        </table>
        <p id="add-tr">[add]</p>

当我点击[add]时,我想添加一个包含现有trth元素的新td。 我找到了最后一张表:

$('#add-tr').on('click',function(){
    $(this).prev('table')...;
    });

(用hide()func检查)接下来怎么办?试过:

$(this).prev('table').closest('tr').clone();

但没效果!

我在stackoverflow的第一个问题!所以不要太苛刻,谢谢!

3 个答案:

答案 0 :(得分:5)

您应该使用findchildren方法并附加行,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);

或类似的