克隆html元素似乎没有原型方法

时间:2015-01-08 14:42:26

标签: javascript html

我试图在模态消失之前克隆模态的内容。

基本上当单击确定按钮时,它会将对象的克隆传递给函数,如此

$ok.onclick = function(e){
        if(params.ok)
            var $cont = $content.cloneNode(true);
            params.ok($cont);
        closeSlert($slert);
    }

但是后来我试图使用getElementById(),但它返回这不是函数

我认为Element.clone也克隆了原型。

只是因为有人认为建议$ content.cloneNode(true)似乎也没有传递原型方法。有没有办法重新应用原型方法或更好地克隆它们与元素

这是完整的功能

function genSlert(params) {
    var slerts = getSlerts(),
        $slert = document.createElement('div'),
        $buttons = document.createElement('div'),
        $ok = document.createElement('button'),
        $cancel = document.createElement('button'),
        $content = document.createElement('div');
    for(var i = 0; i < slerts.length; i++){
        slideUp(slerts[i]);
    }
    $buttons.className = 'buttons';
    $content.innerHTML = params.content;
    $content.className = 'content';
    $slert.className = 'slert';
    $slert.appendChild($content);
    $slert.appendChild($buttons);
    $buttons.appendChild($cancel);
    $buttons.appendChild($ok);
    $ok.innerHTML = 'OK';
    $cancel.innerHTML = 'CANCEL';
    wrapper.appendChild($slert);
    wrapper.classList.remove('hidden');
    document.body.classList.add('no-scroll');
    $cancel.onclick = function (e) {
        if (params.cancel) {
            params.cancel(e);
        }
        //close modal
        closeSlert($slert);
    }
    $ok.onclick = function(e){
        if(params.ok){
            var $cont = $content.cloneNode(true);
            params.ok($cont);
        }
        closeSlert($slert);
    }

}

0 个答案:

没有答案