Javascript 会自动将 <tr> 添加到我的表格元素中

标签 javascript html

正如您从屏幕截图中看到的:

enter image description here

每个元素都被放入自己的 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 的子级。因为浏览器独立添加这个元素。您需要将数据添加到结果行

<tbody id='result-table'>
    <tr id='result-row'></tr>
</tbody>

顺便说一句,与 DOM 交互是一项昂贵的操作。最好先组成一个数组,然后插入一次。

关于Javascript 会自动将 <tr> 添加到我的表格元素中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60017591/

相关文章:

javascript - 具有视差效果的多个部分的固定文本

javascript - 如何执行动态加载的 JavaScript block ?

javascript - 对象数组没有被解析为原生对象的 JavaScript 数组?

javascript - 使用 HighCharts 时增加容器相对于 HTML 内部图表的大小

html - 在 div 中居中图像

javascript - 如何使用slideDown()显示动态生成的元素?

javascript - 如何以更高效、更有用的方式在 jQuery 中创建多个 ajax 调用

javascript - 获取矩形的旋转中心

python - django 中的模块化模板

html - 为什么我的 div 没有对齐?