这应该很简单,对吗?然而,我无法在任何地方找到任何这种功能的例子。问题是,在我执行replaceWith()之后,我想对那些写入DOM的元素做一些事情,但是如果我在replaceWith()调用之后尝试对它们做些什么,它们就不存在了我需要确保replaceWith()完全完成。我只想要这样的事情发挥作用:
$('#foo').replaceWith('some text', function() {
//do something else here
});
思想?
答案 0 :(得分:5)
您可以创建自己的函数来调用replaceWith
:
$.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
};
答案 1 :(得分:0)
只需执行以下操作即可创建回调功能:
$("#myElement").replaceWith(function() {
// call a function
);
并替换一个单词而不是内部html:
$("#derp").text(function(index, text) {
// call a function here
return text.replace('old', 'new');
});