2

ページに多くのテーブルを配置します。いくつかの後に既存のデータを含む新しい行を追加したいtr。だから私はテーブルの1つを持っています:

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

をクリックすると、既存の要素と[add]新しい要素を追加したいと思います。私は最後のテーブルを見つけました:trthtd

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

(hide() 関数で確認) 次に何をするか? 試した:

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

でも効果なし!

stackoverflow での最初の質問です。厳しすぎないでください、そしてありがとう!

4

3 に答える 3

5

findまたはchildrenメソッドを使用して行を追加する必要がありますclosest。メソッドは要素の最も近い親を選択します。

var $table = $(this).prev('table');
$table.find('tr:first').clone().appendTo($table);
于 2012-12-19T21:27:44.060 に答える
1

.closest() ではなく .find() を使用して内部の tr を選択し、.appendTo() の場所を選択するだけで済みます。

$('#add-tr').on('click',function(){
    $(this).prev('table').find('tr').first().clone().appendTo('table');
});​
于 2012-12-19T21:29:28.817 に答える
0

正しく複製されたと思いますが、実際に追加する必要があります:

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

$(this).prev('table').closest('tr').append(myRow);

または類似

于 2012-12-19T21:28:18.217 に答える