Я предлагаю альтернативный способ: поскольку вам может понадобиться использовать эту функцию позже, я предпочитаю не переопределять функцию, а вызывать ее только один раз
var l = $('.msg').length;
$('.msg').fadeOut(200, function(){
$(this).remove();
if((--l === 0) && typeof str.remove == 'function'){
str.remove.call(this);
}
});
если вам нужно выполнить обе функции один раз, просто напишите
var l = $('.msg').length;
$('.msg').fadeOut(200, function(){
if (--l === 0) {
$(this).remove();
if(typeof str.remove == 'function'){
str.remove.call(this);
}
}
});