使用jQuery向空表添加行时处理tbody

时间:2012-12-22 03:50:14

标签: javascript jquery html-table

我的代码中有一个空表,如下所示:

<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。我接受了这个问题的第一个有效答案。

2 个答案:

答案 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>');

DEMO

您需要确保添加<td>以及<tr>。例如,在Chrome中,以下内容将简单地添加一个空的<tr>

$('#rostertable tbody').append('<tr>no cells added, just row</tr>');​