Javascript json数据未显示在js生成的表中
我在js中有一个来自php的变量,如: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
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);