Reemplazar cuadro de texto con div con jQuery no funciona

Solo funciona durante unos segundos y luego el div desaparece de nuevo:

$(document).ready(function () {

    $("#done").click(function () {
        $('#txtname').replaceWith(function () {

            return '<div>' + $(this).val() + '</div>';
        });
    });

Respuestas a la pregunta(1)

Su respuesta a la pregunta