5

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

<table id='rostertable'></table>

当我添加一个<tr>使用 jQuery 的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。我接受了这个问题的第一个有效答案。

4

2 回答 2

4

你应该not得到null,如果没有元素匹配选择器,你仍然会得到object包含zero元素。

您的选择器正在返回 tbody,您可能使用了一些错误的方法。

现场演示

alert($('#rostertable tbody').html());​
于 2012-12-22T03:55:18.487 回答
2

tbdoy只要您附加有效的html,附加到您的代码就应该可以工作。

以下工作正常:

$('#rostertable tbody').append('<tr><td>new row - cell 1</td><td>new row - cell 2</td></tr>');

演示

您需要确保附加 a<td>以及<tr>. 例如在 Chrome 中,下面将简单的添加一个空的<tr>

$('#rostertable tbody').append('<tr>no cells added, just row</tr>');​
于 2012-12-22T04:04:15.787 回答