在Firefox中使用jQuery添加表行

时间:2011-07-05 18:38:34

标签: jquery asp.net firefox safari

我正在尝试使用jQuery使用下面的脚本向我的转发器中添加行。它在IE中工作得很好,但在Firefox,Chrome和Safari中却没有。

看起来像使用outerHTML的问题。有人能帮助我吗?

function AddRowToTable(table) {
    var newRow1 = $(table.rows[table.rows.length - 2].outerHTML);
    var myRow = $(table.rows[table.rows.length - 2]);
    $(myRow).after(newRow1);
}

2 个答案:

答案 0 :(得分:1)

outerHTML是一种专有标准,不受IE以外的浏览器支持。无论如何,这是一个坏主意 - 你应该几乎总是只使用DOM节点并在必要时克隆它们。幸运的是,jQuery让你很容易。

function AddRowToTable(table) {
    var $table = $(table);
    var $oldRow = $table.find('tr').eq(-2); // get the second last row
    var $newRow = $oldRow.clone(true); // clone the node
    $oldRow.after($newRow); // insert the new row after the old row
}

请参阅:

答案 1 :(得分:0)

Add table row in jQuery

可能重复

解决方案是

$('#myTable tr:last').after('<tr>...</tr><tr>...</tr>');

您可以将其修改为在您的案例中有用......