我正在尝试使用jQuery向表中追加一行,并在加载时对该行应用slideDown效果(对于上下文,结果通过Ajax检索并在收到时添加)。 / p>
当我添加行没有效果时,表格正确形成。当我使用fadeIn作为效果时,表格仍然正确形成。但是,当我使用slideDown作为效果时,表行变为“已损坏”并且列无法正确排列。
我有一张这样的表:
<div id="results">
<table>
<thead>
<tr><td>Col1</td><td>Col2</td></tr>
</thead>
</table>
</div>
我的Javascript看起来像这样:
$("<tr><td>val1</td><td>val2</td></tr>")
.hide().slideDown("slow")
.appendTo("#results table tbody");
我也试过这个:
$("#results table tbody")
.append("<tr><td>val1</td><td>val2</td></tr>")
.find("tr:last").hide().slideDown("slow");
这里的第二个选项正确显示了效果,但正如我提到的那样使用表格。
这可能吗?
我正在Chrome 4中对此进行测试(这可能是问题吗?)
答案 0 :(得分:4)
看起来像是How to Use slideDown (or show) function on a table row?
的副本简短的回答是jQuery动画在不是块元素的东西上不能很好地工作,特别是对表行和单元格不起作用。