javascript - Javascript 自动将 s 添加到我的表格元素中
问题描述
从这个截图可以看出:
每个元素都被放入自己的 tr 中。
我不希望这样,我只希望每个元素都在 td 中,然后用一个 tr 包围所有内容
HTML:
<div id='result'>
<table class='table'>
<thead>
<tr><th>Question</th><th>Animal</th><th>Expected</th><th>You Picked</th><th>Result</th></tr>
</thead>
<tbody id='result-table'>
</tbody>
</table>
</div>
Javascript:
function displayResult() {
let tableDisplay = document.getElementById("result-table")
let theResult = document.getElementById("result")
theResult.style.display = "block"
for(let i = 0; i<qArr.length; i++){
tableDisplay.innerHTML = tableDisplay.innerHTML + `<td>` + qArr[i] + `</td>`
}
// qArr.forEach(x => {
// tableDisplay.innerHTML = tableDisplay.innerHTML + `<td>` + x + `</td>`
// })
}
解决方案
td
不能为孩子tbody
,只能为tr
。因为浏览器独立添加了这个元素。您需要数据来result-row
.
<tbody id='result-table'>
<tr id='result-row'></tr>
</tbody>
顺便说一句,与 DOM 的交互是一项昂贵的操作。首先最好形成一个数组,然后插入一次。
推荐阅读
- r - 了解 matchit() 中的“比率”参数
- tensorflow-datasets - 在 .csv 文件中带有相应标签的目录中准备带有 *.jpeg 的 tensorflow 数据集
- mysql - MappedColumnType:当 MySQL 列定义为 Option[String] 时,将 String 转换为 Vector[String] - 可以为空
- python - 将字符串列读入列表
- java - 使用 Java 或 Apache POI 将 XLSX 文件转换为 XLSB
- azure - 通过 ARM 模板在 Azure SQL 服务器上启用漏洞评估
- reactjs - 列表大小更改时如何避免重新安装列表的反应补偿项?
- javascript - 从另一个网站读取 Html 并分析 html 树
- sql - 准确插入 date_from 和 date_to
- java - 简化 ifPresentOrElse 链