Javascript-使用商业订单表数据填充PDF上的HTML表

Javascript-使用商业订单表数据填充PDF上的HTML表,javascript,wordpress,pdf,woocommerce,woocommerce-theming,Javascript,Wordpress,Pdf,Woocommerce,Woocommerce Theming,我正在开发一种使用javascript将商业订单数据导出到PDF文档表的方法。 为此,我将每个订单表格单元格的innerText值存储在不同的let变量和更高版本中 使用这些变量填充HTML表格,该表格将显示在我的最终PDF文档中 我感觉自己接近黄金,但我得到了控制台错误uncaughttypeerror:无法在浏览器上读取未定义的的属性'innerText' 这是到目前为止我的代码,你知道我为什么会出现这个错误吗?还有什么方法可以修复它吗 函数printData(){ 让orderTableD

我正在开发一种使用javascript将商业订单数据导出到PDF文档表的方法。 为此,我将每个订单表格单元格的innerText值存储在不同的
let
变量和更高版本中 使用这些变量填充HTML表格,该表格将显示在我的最终PDF文档中

我感觉自己接近黄金,但我得到了控制台错误
uncaughttypeerror:无法在浏览器上读取未定义的
的属性'innerText'

这是到目前为止我的代码,你知道我为什么会出现这个错误吗?还有什么方法可以修复它吗

函数printData(){
让orderTableData=document.GetElementsByCassName(“woocommerce\u order\u items”)[0].innerHTML;
让orderTableSize=document.getElementById(“订单行项目”);
让tamanho=orderTableSize.rows.length;
让orderPricesData=document.GetElementsByCassName(“wc订单总计”)[0].innerHTML;
让orderItemName=document.getElementById(“订单行项目”).GetElementsByCassName(“名称”)[0]。innerText;
让orderItemPrice=document.getElementById(“订单行项目”).GetElementsByCassName(“项目成本”)[0]。innerText;
让orderItemQtd=document.getElementById(“订单行项目”).GetElementsByCassName(“数量”)[0]。innerText;
让orderItemTotal=document.getElementById(“订单行项目”).GetElementsByCassName(“行成本”)[0]。innerText;

对于循环中的(var j=0;j,不需要使用条件

function printData(){
     let orderTableData = document.getElementsByClassName("woocommerce_order_items")[0].innerHTML;
     let orderTableSize = document.getElementById("order_line_items"); 
     let tamanho = orderTableSize.rows.length;
     let orderPricesData = document.getElementsByClassName("wc-order-totals")[0].innerHTML;
     let orderItemName = document.getElementById("order_line_items").getElementsByClassName("name")[0].innerText;
     let orderItemPrice = document.getElementById("order_line_items").getElementsByClassName("item_cost")[0].innerText;
     let orderItemQtd = document.getElementById("order_line_items").getElementsByClassName("quantity")[0].innerText;
     let orderItemTotal = document.getElementById("order_line_items").getElementsByClassName("line_cost")[0].innerText;

     let iframe = document.createElement('iframe');

     document.body.appendChild(iframe);

     iframe.style.display = 'none';
 
     for(var j = 0; j < tamanho; j++){
        iframe.contentDocument.body.innerHTML = "<table border='1' width='100%'><tr><th>Item</th><th>Preço uni.</th><th>Qtd.</th><th>Total</th></tr><tr><td>" + document.getElementById("order_line_items").getElementsByClassName("name")[j].innerText + "</td><td>" + document.getElementById("order_line_items").getElementsByClassName("item_cost")[j].innerText + "</td><td>" + document.getElementById("order_line_items").getElementsByClassName("quantity")[j].innerText + "</td><td>" + document.getElementById("order_line_items").getElementsByClassName("line_cost")[j].innerText + "</td></tr></table>";   
     }
             
     iframe.contentWindow.focus();
     iframe.contentWindow.print();
     document.body.removeChild(iframe);
}