4

私が得るであろう非常に明白な答えになると思いますが、私は本当に自分でそれを見つけることができません.

これが私のテーブルです (すべての tds は割愛します)

<table id="COA_Table">
    <thead>
        <tr>some th</tr>
    </thead>
    <tbody>
        <tr>some TD</tr>
    </tbody>
</table>

ここに私のjQueryコードがあります:

$(document).ready(function () {
    console.log("ready!");

    $('#COA_Table > tbody:last').append('<tr><td><input type=\"checkbox\"></td><td></td>New account<td></td><td></td></tr>');
})

そして最後に、私が得るエラーコード:

キャッチされていない TypeError: null のプロパティ 'childNodes' を読み取れません

これは私を夢中にさせる

4

3 に答える 3

8

構造にエラーがあることに注意してください

<td></td>New account<td></td>

このテキストはどこにも配置されておらず、完全なコードでエラーを引き起こしている可能性があります。

それはおそらく

<td></td><td>New account</td>

これらの編集によるデモ

于 2013-06-25T18:55:11.383 に答える
2

無効なマークアップの問題を回避するために、次の構文を使用します。

$(document).ready(function () {
    var tr  = $('<tr />'),
        td  = $('<td />'),
        td2 = $('<td />', {text: 'New account'}),
        inp = $('<input />', {type:'checkbox'});

    $('#COA_Table tbody').append( tr.append( td.append(inp), td2 ) );
});

これにより、開始タグと終了タグを持つ各要素が作成され、適切な場所に追加されます。

フィドル

于 2013-06-25T18:54:01.497 に答える
0

最後の後にデータを追加し、使用trしないtbodyafter()

 $('#COA_Table tr:last').after('<tr><td><input type=\"checkbox\"></td><td></td>New account<td></td><td></td></tr>');    
于 2013-06-25T18:52:53.203 に答える