これは簡単ですね。しかし、どこにでもそのような機能の例を見つけることはできません。問題は、replaceWith()を実行した後、DOMに書き込まれた要素で何かしたいのですが、replaceWith()呼び出しの直後に何かをしようとすると、まだ存在しません私はreplaceWith()が完全に終了したことを確認する必要があります。私はちょうどこのようなものが動作するようにしたい:jQueryのreplaceWith関数をコールバック関数を受け入れるように拡張するにはどうすればよいですか?
$('#foo').replaceWith('some text', function() {
//do something else here
});
思考?
$("#myElement").replaceWith(function() {
// call a function
);
と言葉と内側のないHTMLを置き換えるために:
$.fn.replaceWithCallback = function(replace, callback){
var ret = $.fn.replaceWith.call(this, replace); // Call replaceWith
if(typeof callback === 'function'){
callback.call(ret); // Call your callback
}
return ret; // For chaining
};
はあなたが直後に処理を実行しようとするときに動作していないコードを示してもらえますか? 'replaceWith'は非同期ではないので、これは正常に動作します。 *編集*私はあなたが '#foo'で何かをしようとしているのですが、それを置き換えただけでは存在しません... – lonesomeday
' replaceWith'が非同期でないとコールバックが必要なのはなぜですか? 'replaceWith'を呼び出した直後にメソッドを呼び出すことができます。 – ShankarSangoli
http://stackoverflow.com/questions/2465431/jquery-fadeout-replacewith-animate-almost-working http://stackoverflow.com/questions/5248721/jquery-replacewith-fade-animate – Alex