将.animate()应用于使用.after()添加的行

时间:2011-11-09 21:33:10

标签: javascript jquery jquery-after

所以我目前使用以下内容:

$.ajax({
    type: "GET",
    url: "file.php",
    success: function(html) {
        $("#tableRow").after(html);
    }
});

将新行(或行)整齐地添加到现有表中。 file.php返回:

<tr><td>stuff</td></tr>

我可以一次添加一行。 我正在尝试为新添加的行设置动画,例如:

$("#tableRow").after(html).animate({ backgroundColor: "#bce4b4" }, "fast")

但是突出显示我之后添加新行的行。我不能让它适用于那个新行。我怎么能这样做?

更新

根据给出的答案,我把它放在一起: http://jsfiddle.net/jreljac/5ctpc/3/我执行以下操作:

$("<tr><td>2 1</td><td>2 2</td></tr>").insertAfter("#tableRow").animate({
    backgroundColor: "#bce4b4"
}, "slow");

(我替换了file.php将提供的文字“)并且这似乎不起作用。它创建了行但没有动画。我错过了一些简单的东西吗?

3 个答案:

答案 0 :(得分:5)

用户insertAfter。然后它将为正确的行设置动画。

$(html).insertAfter("#tableRow").animate(...

答案 1 :(得分:1)

尝试使用insertAfter()代替

$(html).insertAfter('#tableRow').animate({ backgroundColor: "#bce4b4" }, "fast");

答案 2 :(得分:0)

这将做你想要的:

$(html).insertAfter('#tableRow').animate({ backgroundColor: "#bce4b4" }, "fast")

虽然'html'只是一个字符串,但您仍然可以将其包装在$()中以将其转换为jQuery对象。