保持dom节点问题的未经修改的副本

时间:2015-03-20 14:43:44

标签: javascript jquery twitter-bootstrap

我正在尝试复制dom节点,以便稍后修改后可以恢复其状态。在这种情况下,模态窗口关闭后。

奇怪的是,在打开模态两次后,单击#show_reg_form按钮并关闭模态。 modal_body_initial变量似乎在下次打开模态窗口时被修改为修改状态。

我也试过在隐藏功能中使用和不使用此行。

modal_body = modal_auth.find('.modal-body');

关于我在这里出错的想法?​​

$(document)
.on('ready', function(){
    var modal_auth = $('#modal_auth');
    var modal_body = modal_auth.find('.modal-body');
    var modal_body_initial = modal_body.clone();

    $('#modal_auth').on('hidden.bs.modal', function (e) {
        modal_body.replaceWith(modal_body_initial);
        modal_body = modal_auth.find('.modal-body');
    });
})
.on('click', '#show_reg_form, #show_login_form', function(){
    var button = $(this);
    var form = button.next();
    var parent = button.parent();

    form.hide();
    form.removeClass('hidden');

    parent.siblings(':not(.custom-header)').each(function(){
        $(this).hide();
    });

    form.slideDown(function(){
        button.slideUp();
    });
})

1 个答案:

答案 0 :(得分:1)

如果您要执行的操作是保留modal_body_initial的HTML,  也许以下内容对您有用:

$(document).on('ready', function(){
    var modal_auth = $('#modal_auth');
    var modal_body = modal_auth.find('.modal-body');
    var modal_body_initial = modal_body.html(); // <------- EDIT

    $('#modal_auth').on('hidden.bs.modal', function (e) {
        modal_body.html(modal_body_initial); // <------- EDIT
        modal_body = modal_auth.find('.modal-body');
    });
});