2

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

$.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 将给出的内容),这似乎不起作用。它创建了行但没有动画。我错过了一些简单的东西吗?

4

3 回答 3

5

insertAfter取而代之的是用户。然后它将为正确的行设置动画。

$(html).insertAfter("#tableRow").animate(...
于 2011-11-09T21:35:54.680 回答
1

尝试使用insertAfter()代替

$(html).insertAfter('#tableRow').animate({ backgroundColor: "#bce4b4" }, "fast");
于 2011-11-09T21:36:46.623 回答
0

这将做你想要的:

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

虽然 'html' 只是一个字符串,你仍然可以将它包装$()成一个 jQuery 对象。

于 2011-11-09T21:37:22.727 回答