2

だから私は現在以下を使用しています:

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

これにより、既存のテーブルに新しい行がきちんと追加されます。file.phpは以下を返します:

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

一度に1行追加できます。新しく追加された行だけを次のようにアニメーション化しようとしています。

$("#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 に答える