1

私はいくつかのコードを持っています。正常に実行されたら、成功メッセージを作成し、それを画面に表示するために prependTo を使用します。問題は、ユーザーが成功したアクションを 2 回実行すると、2 つの成功メッセージが表示されることです。

成功メッセージを上書きする方法はありますか。現在、コードでそれを処理する方法は次のとおりです。

  $((is_error ? "<p class=' alert alert-error'>"+message+"</p>)" : "<p class=' alert alert-success'>"+message+"</p>")).prependTo("#feedback-container");

ありがとう!

4

4 に答える 4

3

代わりにprependToを使用できるためhtml、メッセージ コンテナーの内容を先頭に追加せずに置き換えます。

$("#feedback-container").html(is_error ? "<p class=' alert alert-error'>"+message+"</p>" : "<p class=' alert alert-success'>"+message+"</p>");
于 2012-06-25T16:51:14.503 に答える
3

これを簡単に使用できます:

$("#feedback-container").html((is_error ? "<p class=' alert alert-error'>"+message+"</p>)" : "<p class=' alert alert-success'>"+message+"</p>"));

したがって、コンテナの内容全体が置き換えられます。

于 2012-06-25T16:51:24.603 に答える
2
$("#feedback-container").children(".alert:first-child").remove().end().prepend( "stuff" );

実際のデモhttp://jsfiddle.net/uVVYN/

于 2012-06-25T16:52:33.637 に答える
1

定義により、prependTo は「このパラメーターで指定された要素の先頭に挿入されます」。つまり、挿入はしますが置換はしません。

あなたが探しているのは、一致した要素の innerHTML を指定されたコンテンツに設定するhtmlメソッドである可能性が最も高いです: http://api.jquery.com/html/

html()の使い方はprependTo()とは少し異なりますが、概念的には同じです:

 $("#feedback-container").html((is_error ? "<p class=' alert alert-error'>"+message+"</p>)" : "<p class=' alert alert-success'>"+message+"</p>"));
于 2012-06-25T16:57:48.787 に答える