打印函数返回错误elem.cloneNode不是函数

时间:2020-10-14 19:02:14

标签: javascript jquery

我具有以下功能来打印表格,如下所示:

document.getElementById("btnPrint").onclick = function () {
 printElement(document.getElementsByClassName("printThis"));
}

function printElement(elem) {
 var domClone = elem.cloneNode(true);
                                
 var $printSection = document.getElementById("printSection");
                                
  if (!$printSection) {
    var $printSection = document.createElement("div");
    $printSection.id = "printSection";
    document.body.appendChild($printSection);
  }
                                
  $printSection.innerHTML = "";
  $printSection.appendChild(domClone);
  window.print();
}

当我运行该函数时,它返回以下错误:

未捕获的TypeError:elem.cloneNode不是函数 在printElement 在HTMLButtonElement.document.getElementById.onclick

1 个答案:

答案 0 :(得分:2)

您要发送的是NodeList而不是Node,您应该使用以下命令修改第二行:

printElement(document.getElementsByClassName("printThis")[0]);