javascript - 按下按钮时显示表格
问题描述
我怎样才能制作一个按钮,所以当我按下它时,它应该显示表格。表格需要在按下按钮之前不可见,然后当按下按钮时表格应该显示出来。请帮忙
<!DOCTYPE html>
<html>
<body>
<table cellpadding="2" cellspacing="2" border="0" bgcolor="#dfdfdf" width="40%" align="center">
<thead>
<tr>
<th>Name</th>
<th width="20%">Age</th>
<th width="12%">Status</th>
</tr>
</thead>
<tbody id="tableData"></tbody>
</table>
<script type="text/javascript">
var mainObj = [{
id: 0,
kategori: 'Køer',
antal: 50
},
{
id: 1,
kategori: 'Hunde',
antal: 1
},
{
id: 2,
kategori: 'Grise',
antal: 100
},
{
id: 3,
kategori: 'Får',
antal: 20
},
];
var k = '<tbody>'
for (i = 0; i < mainObj.length; i++) {
k += '<tr>';
k += '<td>' + mainObj[i].id + '</td>';
k += '<td>' + mainObj[i].kategori + '</td>';
k += '<td>' + mainObj[i].antal + '</td>';
k += '</tr>';
}
k += '</tbody>';
document.getElementById('tableData').innerHTML = k;
</script>
</body>
</html>
解决方案
您将通过操作 CSS 来实现效果。
首先设置表格的样式Display: none,然后添加一个按钮将其更改为Display: block
<!DOCTYPE html>
<html>
<head> </head>
<body>
<button class="revealBtn">Reveal Table</button>
<table
style="display: none"
cellpadding="2"
cellspacing="2"
border="0"
bgcolor="#dfdfdf"
width="40%"
align="center"
>
<thead>
<tr>
<th>Name</th>
<th width="20%">Age</th>
<th width="12%">Status</th>
</tr>
</thead>
<tbody id="tableData"></tbody>
</table>
<script type="text/javascript">
console.log("scripts loading...");
var mainObj = [
{ id: 0, kategori: "Køer", antal: 50 },
{ id: 1, kategori: "Hunde", antal: 1 },
{ id: 2, kategori: "Grise", antal: 100 },
{ id: 3, kategori: "Får", antal: 20 },
];
var k = "<tbody>";
for (i = 0; i < mainObj.length; i++) {
k += "<tr>";
k += "<td>" + mainObj[i].id + "</td>";
k += "<td>" + mainObj[i].kategori + "</td>";
k += "<td>" + mainObj[i].antal + "</td>";
k += "</tr>";
}
k += "</tbody>";
document.getElementById("tableData").innerHTML = k;
const myTable = document.querySelector("table");
console.log(myTable);
const revealBtn = document.querySelector(".revealBtn");
const revealTable = () => {
myTable.style.display = "block";
};
revealBtn.addEventListener("click", revealTable);
</script>
</body>
</html>
这应该这样做。
推荐阅读
- node.js - Post 方法值在节点 js 中返回 null
- java - 基于泛型类型创建新对象
- javascript - 等高列商店页面(图片、标题、价格等)
- odbc - 苹果 M1 上用于 SQL Server 的 ODBC 驱动程序 17
- mysql - 当连接表中不存在相关行时如何显示空列或空列
- django - TemplateSyntaxError at / 第 57 行的块标记无效:'logout_url',预期为 'endif'。您是否忘记注册或加载此标签?
- python-3.x - PyDrive 快速入门和错误 403:access_denied
- reactjs - 如何在 webpack 中使用整个 cacheGroup 作为入口点?
- r - 如何按不同列比较 R 数据框中的两行并对它们执行操作?
- c - 为什么这会导致 C 中的分段错误