Javascript json数据未显示在js生成的表中

Javascript json数据未显示在js生成的表中,javascript,php,json,Javascript,Php,Json,我在js中有一个来自php的变量,如: var myData = <?php echo json_encode($json_array) ?>; 从myData生成表的函数: function generateTableHead(table, data) { let thead = table.createTHead(); let row = thead.insertRow(); for (let key of data

我在js中有一个来自php的变量,如:

var myData = <?php echo json_encode($json_array) ?>; 
从myData生成表的函数:

function generateTableHead(table, data) {
          let thead = table.createTHead();
          let row = thead.insertRow();
          for (let key of data) {
            let th = document.createElement("th");
            let text = document.createTextNode(key);
            th.appendChild(text);
            row.appendChild(th);
          }
        }

        function generateTable(table, data) {
          for (let element of data) {
            let row = table.insertRow();
            for (key in element) {
              let cell = row.insertCell();
              let text = document.createTextNode(element[key]);
              cell.appendChild(text);
            }
          }
        }


        let table = document.querySelector("table");


        let data = Object.keys(myData);


        // generate cells from values
        generateTable(table, myData);


        // create heading from keys
        generateTableHead(table, data);

似乎是这样的
let table=document.querySelector(“table”)返回null。是否确定在运行此查询时已创建表元素?您能确认返回空值吗?

谢谢,这个答案帮助我找到了答案。我不得不移动脚本以使其工作。
function generateTableHead(table, data) {
          let thead = table.createTHead();
          let row = thead.insertRow();
          for (let key of data) {
            let th = document.createElement("th");
            let text = document.createTextNode(key);
            th.appendChild(text);
            row.appendChild(th);
          }
        }

        function generateTable(table, data) {
          for (let element of data) {
            let row = table.insertRow();
            for (key in element) {
              let cell = row.insertCell();
              let text = document.createTextNode(element[key]);
              cell.appendChild(text);
            }
          }
        }


        let table = document.querySelector("table");


        let data = Object.keys(myData);


        // generate cells from values
        generateTable(table, myData);


        // create heading from keys
        generateTableHead(table, data);