我的代码中有一个空表,如下所示:
<table id='rostertable'></table>
当我使用jQuery的<tr>
函数添加append
时,根据我的chrome检查器,我的表看起来像这样:
<table id='rostertable'><tbody><tr>...</tr></tbody></table>
似乎tbody已经自行添加了,当我遍历DOM时,这会导致问题。
为了保持一致性,我认为如果我自己添加tbody并直接附加到它上会更好。这可能吗?我尝试制作占位符<table id='rostertable'><tbody></tbody></table>
,但jQuery选择器$('#rostertable tbody')
返回null,我的chrome检查器也没有显示tbody标记。
编辑:没关系,它最终成为我的javascript中无关的错误。有一次,我正在清理表中的内容并运行$(“#rostertable”)。html(“”),当然删除了tbody。我接受了这个问题的第一个有效答案。
答案 0 :(得分:3)
您应该not
获得null
,如果没有元素与选择器匹配,您仍会获得包含object
元素的zero
。
你的选择器正在返回tbody,你可能正在使用一些错误的方法。
<强> Live Demo 强>
alert($('#rostertable tbody').html());
答案 1 :(得分:2)
要附加到tbdoy
,只要您附加有效的HTML,您的代码就可以正常工作。
以下工作正常:
$('#rostertable tbody').append('<tr><td>new row - cell 1</td><td>new row - cell 2</td></tr>');
您需要确保添加<td>
以及<tr>
。例如,在Chrome中,以下内容将简单地添加一个空的<tr>
$('#rostertable tbody').append('<tr>no cells added, just row</tr>');