2

ID が row_26 と notificationrow_26 のテーブルに 2 つあります。ページが読み込まれた後、notificationrow_26 が DOM に動的に追加されます。

notificationrow_26 をハイライトしたいと思います。だから私は使う

var deviceUID = 26;
$("#notificationrow_" + deviceUID).effect("highlight", {}, 3000);       

しかし、私がこれを行うとき。その行は強調表示されません。私もnotificationrow_26にアクセスしようとしましたが、それでもアクセスしません。

要求すると、row_26 が強調表示されます。jquery live について聞いたことがありますが、jquery live でアクセスするにはどうすればよいですか? jquery live はイベントとかの専用だと思います。DOM に動的に追加されたこの行にアクセスしたいだけです。

何か不足していますか?

4

2 に答える 2

4

要素を DOM に追加した後、.effect ステートメントを呼び出す必要があります。「クリック」またはその他の一般的なイベントによって要素を DOM にアタッチする場合は、.live を使用できます (「変更」ではありませんが、そのためには livequery が必要です)。

于 2009-09-27T19:44:21.860 に答える
1

に慣れていません.effect()。これはプラグインですか、それとも別の JavaScript フレームワークの一部ですか? $次のコードは、ページ上で短縮形との競合がないことを条件として、行を強調表示します。

var deviceUID = 26;
$("#notificationrow_" + deviceUID).css('background-color','highlight');

これは、行が DOM に挿入された後にのみ適用できます (コマンドが実行されると、その時点で DOM に存在するセレクターに一致する要素のみに影響するということです)。

したがって、行の追加方法に応じて、コールバック関数がある場合は強調表示を追加し、DOM に挿入される前/直後に強調表示コマンドを行に連鎖させることができます。上記のコードを表示するデモを次に示します。

于 2009-09-27T21:56:44.223 に答える