1

我的附加 div 有问题。这是我的html的粗略想法

<table>
<tr>
<td>title 1</td>
<td>subject 2</td>
</tr>
<div id='appenddiv'></div>
<tr>
<td>title 2</td>
<td>subject 2</td>
</tr>
</table>

我的jQuery脚本是这样的:

var output = "<tr><td>title added</td><td>subject added</td></tr>";
$('#appenddiv').append(htmloutput);

脚本一切正常,它应该在它应该触发时触发等等。但我的问题是,它不是将新的 html 放在 div 标签内,而是将它添加到表格的顶部?

知道为什么吗?

4

5 回答 5

3

正如 moonwave99 所说,您不能将 a<div>作为表格元素的直接子元素。如果你总是在第一行之后添加,你可以这样做:

var output = "<tr><td>title added</td><td>subject added</td></tr>";
$('table tr:first').after(output);
于 2013-05-15T14:10:40.697 回答
1

您不能将 a<div>作为元素的直接子<table>元素,因此它会在其外部呈现。

于 2013-05-15T14:09:11.013 回答
0

您的 html 结构无效。你不应该放置一个divbetween tr'std如果你想把它放在你的桌子里,你应该把它放在里面。

如果您想在表格中添加另一行,您应该放置 atr而不是您的div元素,并附加它的内容,或者您​​应该使用 jQuery.after().before()将您的元素定位在特定位置。

于 2013-05-15T14:11:51.063 回答
0

如果你想在表格中有一个 div,你只能在 a 中附加 div<td>否则你不能只在<div>里面添加<table>

于 2013-05-15T14:13:15.320 回答
0

我认为不需要分配变量,您可以将 html 代码直接放入 after() 方法。

下面是脚本:

$('table tr:first').after("<tr><td>title added</td><td>subject added</td></tr>");

上面的脚本将始终在第一行之后添加新行。

于 2013-05-15T14:14:57.930 回答