我想这将是一个非常明显的答案我会得到但我自己找不到它。
这是我的桌子(我饶了你所有的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'
答案 0 :(得分:8)
请注意,您的结构中存在错误
<td></td>New account<td></td>
此文本未放置在任何位置,可能导致完整代码中的错误。
应该是
<td></td><td>New account</td>
答案 1 :(得分: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 ) );
});
将使用开始和结束标记创建每个元素,并将它们附加到适当的位置。
答案 2 :(得分:0)
使用tr
tbody
之后追加数据,而不追加after()
$('#COA_Table tr:last').after('<tr><td><input type=\"checkbox\"></td><td></td>New account<td></td><td></td></tr>');