Вам нужно return
значение, которое вы хотите использовать в качестве замены.
$("#two").replaceWith(function() {
// return the element
return $('#replace2').show();
});
или не передавайте функцию:
$("#two").replaceWith($('#replace2').show());
Так как вы ничего не возвращали явно, показывался div replace
, затем был возвращен undefined
, фактически заменяя оригинал ничем.