javascript - 获取嵌套数组项以附加到 HTML 表中的新列
问题描述
我正在尝试将二维数组中的项目附加到表中,但所有内容都出现在左侧的一列中。如何分离 tableDataArr[1] 以开始加载到下一列?
Javascript
let names = []; //populated dynamically
let language = []; //populated dynamically
let tableDataArr = [names, language];
function renderData() {
for (let i = 0; i < tableDataArr.length; i++) {
tableDataArr[i].forEach(j => {
let newRow = document.createElement("tr");
newRow.className = "row";
newRow.innerHTML = `<td class='cell'>${j}</td>`;
leftTable.appendChild(newRow);
});
}
}
HTML
<div class='left-tbl-wrap'>
<table class='table' id='left-table'>
<tr class='row'>
<th class='th'>Name</th>
<th class='th'>Language</th>
<th class='th'>Latest tag</th>
<th class='th'><span class='delete'></span></th>
</tr>
</table>
</div>
解决方案
对于每次迭代,将名称和语言添加到同一行,然后将该行插入表中。
我在名称和语言数组中添加了一些元素来演示
let names = ["name1", "name2", "name3"]; //populated dynamically
let language = ["language1", "language2", "language3"]; //populated dynamically
let tableDataArr = [names, language];
const leftTable = document.querySelector("#left-table");
function renderData() {
tableDataArr[0].forEach((j, i) => {
let newRow = document.createElement("tr");
newRow.className = "row";
newRow.innerHTML = `<td class='cell'>${j}</td><td class='cell'>${tableDataArr[1][i]}</td>`;
leftTable.appendChild(newRow);
});
}
renderData();
<div class='left-tbl-wrap'>
<table class='table' id='left-table'>
<tr class='row'>
<th class='th'>Name</th>
<th class='th'>Language</th>
<th class='th'>Latest tag</th>
<th class='th'><span class='delete'></span></th>
</tr>
</table>
</div>
推荐阅读
- git - Visual Studio Code 和 git:X 的权限被拒绝
- tensorflow - 方向敏感图像数据的问题
- asp.net - ASP Core 3 上的 JWT + SignalR 导致 401 Unauthorized
- reactjs - 我们如何访问和获取传递给组件的 props (wrapper.props().propname) 总是返回 undefined
- python - Python:将xml展平为csv,父标签在子标签中重复
- java - 有没有办法将字符串数组作为服务器端 Xquery 脚本的变量传递?
- api - 使用 Power Bi 连接到 API
- github - 通过 Github API 合并拉取请求:SHA 参数
- javascript - 在输入字段问题中实现 css 下拉列表
- angular - Angular 7 从 Angular 库中导入原始扩展