如何使用可以使用 JS 更改的数据创建 html 表

Posted

技术标签:

【中文标题】如何使用可以使用 JS 更改的数据创建 html 表【英文标题】:How to create an html table with data that can change using JS 【发布时间】:2021-12-10 17:56:09 【问题描述】:

我正在尝试使用表格创建一个在线计算器,其标签将具有更改的输出。输出是计算器上使用的任何数学函数的结果。因此,如果有人输入 5*5,th 应该显示 25。我尝试在 javascript 中使用变量 output,然后使用 document.getElementsByTagName("th").innerhtml(output) 来改变它,但是没用。然后我尝试了没有变量的相同命令,而是直接在 innerHTML 中插入一个字符串,但它仍然无法正常工作。我也尝试了 write(),但这也没有用。关于我可以尝试什么的任何想法?

这是我的表格(id 和类只是我的 css 文件中的一些样式属性):

<table class="center" style = "width:20%">
    <tr>
        <th colspan="4" id = "final">0</th>
    </tr>
    <tr id = "opRow">
        <td>+</td>
        <td>-</td>
        <td>x</td>
        <td>/</td>
    </tr>
    <tr class = "dataRow">
        <td>7</td>
        <td>8</td>
        <td>9</td>
        <td rowspan = "4" id = "eqBut">=</td>
    </tr>
    <tr class = "dataRow">
        <td>4</td>
        <td>5</td>
        <td>6</td>
    </tr>
    <tr class = "dataRow">
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr class = "dataRow">
        <td style = "width:26%" id = "acBut">ac</td>
        <td>0</td>
        <td>.</td>
    </tr>
</table>

【问题讨论】:

【参考方案1】:

getElementsByTagName() 返回一个数组,因此您必须像这样引用它:

document.getElementsByTagName("th")[0]

假设您当前页面上只有 1 个th 标签。

加上innerHTML是元素的属性而不是方法,所以你必须重写:

document.getElementsByTagName("th")[0].innerHTML = output

另外,您当前的实现应该在您的浏览器控制台日志中抛出一些错误,请检查一下。

【讨论】:

【参考方案2】:

方法/功能

getElementsByTagName

正在从您的 html 返回一个包含所有可用标签的数组,那么您的表中只有第 1 个,因此结果表中的 th 标签是第一个 [0],现在使用方法提及选择 @987654322 @标签并选择第一个元素[0]

innerHTML - 据我所知,用于重写数据

并用它来重写单元格。

所以使用它:

document.getElementsByTagName("th")[0].innerHTML = 52;

要检查是否正常,试试这个:

document.addEventListener("DOMContentLoaded", function()
    document.getElementsByTagName("th")[0].innerHTML = 52;
);

嗯,我希望你明白我想说什么。谢谢。

【讨论】:

以上是关于如何使用可以使用 JS 更改的数据创建 html 表的主要内容,如果未能解决你的问题,请参考以下文章

Vue.js - 如何在数据对象更改时向父组件发出?

如何使用 node.js 更改前端 html

如何使用Alios Things创建Json并更改打印

如何使用JS随机更改HTML内容

如何在一个简单的html页面中使用webpack生成的js库

如何使用 php 和 HTML 更改活动链接的类名