You're replacing the elements with new ones. The event handlers are bound to the old elements, not the new ones, and the references stored in variables play
and pause
will be the old detached DOM elements as well.
You need to leave the elements alone, and programatically hide/show them, rather than completely removing them and replacing them with the other element:
play.on('click', function (e) {
e.preventDefault();
play.hide();
pause.show();
});