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

Javascript 克隆html元素似乎没有原型方法,javascript,html,Javascript,Html,我试图在模态消失之前克隆它的内容 基本上,当单击ok按钮时,它会传递一个对象的克隆,以便像这样运行 $ok.onclick = function(e){ if(params.ok) var $cont = $content.cloneNode(true); params.ok($cont); closeSlert($slert); } 然而,稍后我尝试使用getElementById(),但它返回的结果是这

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

基本上,当单击ok按钮时,它会传递一个对象的克隆,以便像这样运行

$ok.onclick = function(e){
        if(params.ok)
            var $cont = $content.cloneNode(true);
            params.ok($cont);
        closeSlert($slert);
    }
然而,稍后我尝试使用getElementById(),但它返回的结果是这不是一个函数

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

以防万一有人想建议$content.cloneNode(true),它似乎也不能通过原型方法。有没有办法重新应用原型方法,或者更好的方法是使用元素克隆它们

这是整个slert函数

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);
    }

}
函数genSlert(参数){
var slerts=getSlerts(),
$slert=document.createElement('div'),
$buttons=document.createElement('div'),
$ok=document.createElement('button'),
$cancel=document.createElement('button'),
$content=document.createElement('div');
对于(变量i=0;i
显示的代码太不完整,无法评估您的问题。您还需要什么$content是一个HTMLLevel在编辑之前您有一个未定义的函数Yes。我还尝试了返回未定义的console.log$cont.prototype,尽管console.log($content.prototype)也是如此;奇怪的是,querySelector可以工作,但getElementById不能工作,尽管它们都是从元素中原型化的。我更喜欢getELementById,因为它通常要快得多