Javascript 添加到innerHTML后不显示JSON表数据
我正在尝试使用来自GoogleSheets URL的JSON数据构建一个简单的表。 我让它在另一个实例中工作,使用相同的JSON数据填充网格中的div 但是,当我将相同的原则应用于构建表时,我只能显示第一行–请参见此处:Javascript 添加到innerHTML后不显示JSON表数据,javascript,html,jquery,json,google-sheets,Javascript,Html,Jquery,Json,Google Sheets,我正在尝试使用来自GoogleSheets URL的JSON数据构建一个简单的表。 我让它在另一个实例中工作,使用相同的JSON数据填充网格中的div 但是,当我将相同的原则应用于构建表时,我只能显示第一行–请参见此处: var url='[json提要]; $.getJSON(url,函数appendData(数据){ var tableContent=document.getElementById(“内容”); var条目=data.feed.entry; 控制台日志(条目); 对于(变量
var url='[json提要];
$.getJSON(url,函数appendData(数据){
var tableContent=document.getElementById(“内容”);
var条目=data.feed.entry;
控制台日志(条目);
对于(变量i=0;i
表格{
边框:1px纯黑;
}
运输署{
边框:1px纯黑;
}
位置
团队
周分数
总数
请试试这个
var tableRow = document.createElement("tr");
var str = '<td>' + entries[i].gsx$position.$t + '</td><td>' + entries[i].gsx$team.$t + '</td><td>' + entries[i].gsx$weeklyscore.$t + '</td><td>' + entries[i].gsx$totals.$t + '</td>';
tableRow.innerHTML = str;
tableContent.appendChild(tableRow);
var tableRow=document.createElement(“tr”);
var str=''+条目[i].gsx$位置。$t+''+条目[i].gsx$团队。$t+''+条目[i].gsx$周核心。$t+''+条目[i].gsx$总计。$t+'';
tableRow.innerHTML=str;
tableContent.appendChild(tableRow);
有一个额外的;在所有的“$t”中,比如代码中的“$t;”。设置表的tbody的innerHTML——而不是行
注意:我不推荐使用innerHTML来实现这一点,但这里有一个例子
document.getElementById(“bn\u插入\u正文”).addEventListener(“单击”,e=>{
const rows=`Body Column 1Body Column 2Body Column 3
主体柱1主体柱2主体柱3`;
document.querySelector(“my#u table tbody”).innerHTML=行;
});代码>
第1栏
第2栏
第3栏
插入数据
是否试图通过将整个表的内容设置为单个表行来设置它?如果是这样,那就是你的问题了。首先,我不会使用innerHTML
来实现这一点——您的示例链接显示了它们分别创建行。但是,如果必须,请尝试将innerHTML设置为表的tbody,而不是一行(例如,tbody.innterHTML
)。如果tbody不在那里,您需要添加它。这就解决了它!!所以把这个字符串放在一个变量中就不同了。我不太明白为什么,但非常感谢Rajkumar。我知道这可能不是用JSON数据构建表的最佳方法,但无论如何,这是可行的。“条目[i].gsx$position.$t;”末尾的“;”导致了问题。