jQuery将行附加到表,而slideDown效果正在破坏表行

时间:2009-11-06 01:03:47

标签: jquery

我正在尝试使用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中对此进行测试(这可能是问题吗?)

1 个答案:

答案 0 :(得分:4)

看起来像是How to Use slideDown (or show) function on a table row?

的副本

简短的回答是jQuery动画在不是块元素的东西上不能很好地工作,特别是对表行和单元格不起作用。