[英]How to render data from fetch api into a table in javscript
我试图创建一个这样的表
<table class="table">
<thead>
<tr>
<th scope="col">TokenSymbol</th>
<th scope="col">Address</th>
<th scope="col">Balance</th>
</tr>
</thead>
<tbody>
<tr>
<td id="symbol"></td>
<td id="address"></td>
<td id="balance"></td>
</tr>
</tbody>
</table>
我想用来自我的 api 调用的数据填充表格。
我得到的数据是这样的:
TOAD 0.00084138
chart.js:84 1 0.9
chart.js:84 CWJ 0
chart.js:84 CYN 0
chart.js:84 MOONSTAR 1395658765.4499083
chart.js:84 EMT 0
chart.js:84 DODO 0.06632153
chart.js:84 CWJ 0
chart.js:84 CLIPS 0
chart.js:84 SYRUP 0
chart.js:84 bCORGI 391.66319725
chart.js:84 MONEY 22989070.87819258
chart.js:84 SAFEFAIRMOON 207933.87278968
chart.js:84 1 1
chart.js:84 Cake-LP 0
chart.js:84 Cake 0
chart.js:84 DEFLAX 19304224871.809647
chart.js:84 ORFANO 1360077933.9251838
chart.js:84 BAKE 100
chart.js:84 Long 1.1219391
这是我用来获取这些数据的代码:
fetch(url,opts)
.then((response) => {
return response.json();
})
.then((data) => {
const newdata = data;
const balances = newdata['data']['ethereum']['address'][0];
const symbol = balances['balances'][0]['currency'];
const value = balances['balances'][0]['value'];
const bal = balances['balances'];
// console.log(symbol, value);
//document.getElementById("tokenBalance").innerHTML = symbol.symbol + "," + symbol.address + "," + value;
//console.log(bal);
for(k in bal) {
console.log(bal[k].currency.symbol, bal[k].value,bal[k].currency.address);
//console.log(bal[k].currency);
//document.getElementById('symbol').innerHTML = bal[k].currency.address;
//document.getElementById('address').innerHTML = bal[k].currency.address;
//document.getElementById('balance').innerHTML = bal[k].value;
}
});
我基本上想用我上面发布的数据创建一个灵活的表格,这些数据可能会有所不同,所以有时表格会有 5 行,有时有 10 行,具体取决于谁调用 function。 所以桌子必须适应这一点。
我如何用 bootstrap 和 javscript 解决这个问题?
您应该创建一个新的 HTML 元素,在您的情况下为一行,并将 append 它添加到您要使用的表中。 每个新行都将使用您要显示的数据创建,这将取决于您的功能是动态的。
要么像var element = document.createElement(tagName[, options]);
或者您可以只使用 document.getElementById('yourTable').append(newRow) ,其中 newRow 是您使用所需数据伪造的新 HTML 元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.