如何用JavaScript隐藏表格?

时间:2019-06-24 19:32:58

标签: javascript css

我正在尝试制作隐藏表。当您单击一个按钮时,它应该出现在页面上,然后再次单击该按钮时,它应该消失。问题是,此代码不起作用:

那是JS的功能

function showtable1() {
  var x = document.getElementById("table");
  if (x.style.display === "none") {
    x.style.display = "block";
  } else {
    x.style.display = "none";
  }
}

这是HTML代码:

<body>
  <video autoplay loop muted id="backgroundv1">
    <source src="fp.mp4" type="video/mp4">
  </video>
  <div class="menü1">
    <button class="button" onclick="showtable1()">Project  1</button>
    <button class="button">Project  2</button>
    <button class="button">Project  3</button>
    <button class="button">Project  4</button>
    <button class="button">Project  5</button> 
  </div>
  <table class="table1"><td></td> <td></td> </table>
</body>

如果您需要CSS代码,也可以:

.table1 {
  width: 64%;
  height: 50%;
  border: 2px solid red;
  border-radius: 12px;
  margin-left: auto;
  margin-right: auto;
  transform: translate(0);
}

2 个答案:

答案 0 :(得分:3)

您的代码中的问题是在html标记中,您的表没有ID,请在表标签中添加id =“ table”

替换

 <table class="table1"><td></td> <td></td> </table>

 <table id="table"><td></td> <td></td> </table>

您的代码应该可以工作

答案 1 :(得分:1)

在这里您具有我认为的意思。我建议使用jQuery,因为它可以简化您的代码。如有任何疑问,请通知我。

$('button').click(function(){
  if ($('table').is(':visible')) {
    $('table').hide()
  } else {
    $('table').show()
  }
})
table, th {
  border: 1px solid black;
  border-collapse: collapse;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr><th>1</th><th>2</th></tr>
  <tr><th>3</th><th>4</th></tr>
</table>
<button>toggle table</button>

如果您想要香草

function toggleTable() {
  var x = document.getElementById("myTable");
  if (x.style.display === "none") {
    x.style.display = "block";
  } else { 
    x.style.display = "none";
  }
}
table, th {
  border: 1px solid black;
  border-collapse: collapse;
}
<table id="myTable">
  <tr><th>1</th><th>2</th></tr>
  <tr><th>3</th><th>4</th></tr>
</table>
<button onclick="toggleTable()">toggle table</button>