如何使用可以使用 JS 更改的数据创建 html table
How to create an html table with data that can change using JS
我正在尝试创建一个在线计算器,使用 table,其标签的输出会发生变化。输出是计算器上使用的任何数学函数的结果。所以如果有人输入 5*5,th 应该显示 25。我尝试在 javascript 中使用变量输出,然后使用 document.getElementsByTagName("th").innerHTML(output),来让它改变,但那没有用。然后我尝试了没有变量的相同命令,而是直接在 innerHTML 中插入一个字符串,但它仍然无法正常工作。我也试过 write(),但也没有用。关于我可以尝试什么的任何想法?
这是我的 table(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>
getElementsByTagName() returns 一个数组,所以你必须像这样引用它:
document.getElementsByTagName("th")[0]
假设您当前页面上只有 1 个 th
标签。
plus innerHTML
是元素的 属性 而不是方法,因此您必须重写:
document.getElementsByTagName("th")[0].innerHTML = output
此外,您当前的实施应该会在浏览器控制台日志中抛出一些错误,请检查一下。
方法/函数
getElementsByTagName
正在返回一个数组,其中包含来自您的 html 的所有可用标签,那么您的 table 中只有第 1 个,结果是来自您的 [=31] 的 th
标签=] 是第一个 [0],现在使用方法提到 select th
标记和 select 第一个元素 [0]
innerHTML - used to rewrite data as I know
并用它来重写单元格。
所以使用那个:
document.getElementsByTagName("th")[0].innerHTML = 52;
要检查是否有效,试试这个:
document.addEventListener("DOMContentLoaded", function(){
document.getElementsByTagName("th")[0].innerHTML = 52;
});
嗯,我希望你明白我想说的。谢谢。
我正在尝试创建一个在线计算器,使用 table,其标签的输出会发生变化。输出是计算器上使用的任何数学函数的结果。所以如果有人输入 5*5,th 应该显示 25。我尝试在 javascript 中使用变量输出,然后使用 document.getElementsByTagName("th").innerHTML(output),来让它改变,但那没有用。然后我尝试了没有变量的相同命令,而是直接在 innerHTML 中插入一个字符串,但它仍然无法正常工作。我也试过 write(),但也没有用。关于我可以尝试什么的任何想法?
这是我的 table(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>
getElementsByTagName() returns 一个数组,所以你必须像这样引用它:
document.getElementsByTagName("th")[0]
假设您当前页面上只有 1 个 th
标签。
plus innerHTML
是元素的 属性 而不是方法,因此您必须重写:
document.getElementsByTagName("th")[0].innerHTML = output
此外,您当前的实施应该会在浏览器控制台日志中抛出一些错误,请检查一下。
方法/函数
getElementsByTagName
正在返回一个数组,其中包含来自您的 html 的所有可用标签,那么您的 table 中只有第 1 个,结果是来自您的 [=31] 的 th
标签=] 是第一个 [0],现在使用方法提到 select th
标记和 select 第一个元素 [0]
innerHTML - used to rewrite data as I know
并用它来重写单元格。
所以使用那个:
document.getElementsByTagName("th")[0].innerHTML = 52;
要检查是否有效,试试这个:
document.addEventListener("DOMContentLoaded", function(){
document.getElementsByTagName("th")[0].innerHTML = 52;
});
嗯,我希望你明白我想说的。谢谢。