javascript - 如何在 JavaScript 中隐藏/显示 div 容器?
问题描述
我正在尝试toggleClass
通过单击按钮来使用隐藏/显示 div 容器的方法。因此我使用 jQuery。当类.hide
设置为visibility: hidden
.
.aufklapp-container
但是,当我单击按钮时,我想让 div 容器可见。对于 CSS,我尝试了这个:
.table { visibility: hidden }
.hide { visibility: visible }
但是 div 容器不会变为可见。它保持隐藏。请帮帮我,我不明白。
$(document).ready(function() {
$(".aufklapp-button").click(function() {
$(".aufklapp-container").toggleClass("hide");
});
});
.aufklapp-button {
font-family: 'Segoe UI', sans-serif;
font-weight: bold;
font-size: 30pt;
text-align: center;
color: white;
background: #7F868D;
padding: 5px 30px 10px 30px;
width: 60%;
border: none;
border-radius: 35px;
cursor: pointer;
}
.table {
font-family: 'Segoe UI', sans-serif;
font-size: 15pt;
text-align: left;
width: 60%;
padding: 10px 30px 20px 40px;
border-color: #8D0011;
border-width: 2px;
border-style: solid;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
background: white;
visibility: hidden;
}
.table td {
padding: 7px 20px 7px 20px;
}
.table td:nth-child(2) {
width: 45%;
}
.hide {
visibility: visible;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<div id="container-button">
<input class="aufklapp-button" type="button" value="Platzhalter für Kategorie"></input>
<div class="aufklapp-container">
<table class="table">
<tbody>
<tr>
<td></td>
<td>Zielerreichung in %</td>
</tr>
<tr>
<td>Kriterium 1</td>
<td>Regler</td>
</tr>
<tr>
<td>Kriterium 2</td>
<td>Regler</td>
</tr>
<tr>
<td>Kriterium 3</td>
<td>Regler</td>
</tr>
<tr>
<td>Kriterium 4</td>
<td>Regler</td>
</tr>
</tbody>
</table>
</div>
</div>
解决方案
问题是因为您设置visibility: hidden
了table
元素,而不是 parent .aufklapp-container
,因此在那里切换类什么都不做。如果您将visibility
属性移动到 CSS 中的正确类,则代码有效:
$(document).ready(function() {
$(".aufklapp-button").click(function() {
$(".aufklapp-container").toggleClass("hide");
});
});
.aufklapp-button {
font-family: 'Segoe UI', sans-serif;
font-weight: bold;
font-size: 30pt;
text-align: center;
color: white;
background: #7F868D;
padding: 5px 30px 10px 30px;
width: 60%;
border: none;
border-radius: 35px;
cursor: pointer;
}
.aufklapp-container {
visibility: hidden;
}
.table {
font-family: 'Segoe UI', sans-serif;
font-size: 15pt;
text-align: left;
width: 60%;
padding: 10px 30px 20px 40px;
border-color: #8D0011;
border-width: 2px;
border-style: solid;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
background: white;
}
.table td {
padding: 7px 20px 7px 20px;
}
.table td:nth-child(2) {
width: 45%;
}
.hide {
visibility: visible;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<div id="container-button">
<input class="aufklapp-button" type="button" value="Platzhalter für Kategorie" />
<div class="aufklapp-container">
<table class="table">
<tbody>
<tr>
<td></td>
<td>Zielerreichung in %</td>
</tr>
<tr>
<td>Kriterium 1</td>
<td>Regler</td>
</tr>
<tr>
<td>Kriterium 2</td>
<td>Regler</td>
</tr>
<tr>
<td>Kriterium 3</td>
<td>Regler</td>
</tr>
<tr>
<td>Kriterium 4</td>
<td>Regler</td>
</tr>
</tbody>
</table>
</div>
</div>
另外,顺便说一句,将hide
类重命名为 更有意义show
,因为这更符合其行为。
推荐阅读
- ios - Iphone x 及更高版本的安全区域内的图像选择器 cameraoverlay 无法正常工作
- kubernetes - 无头服务在 Kubernetes 中是否“原子”更新?
- google-cloud-platform - 使用 n2-standard-2 机器类型运行数据流作业,数据流作业是否可以随时仅使用 2 个 vCPU 运行,或者它可以自动扩展到配额限制
- c++ - 子类运算符 << 重载 C++
- shapley - shapley-values 如何解释我的模型中没有特征?
- amazon-web-services - 如何使用 Java SDK 和 SSO 向 AWS 进行身份验证
- laravel - 如何在 LARAVEL 中编辑搜索表单的占位符
- postgresql - 在插入PostgreSQL之前剪切一列的内容
- json - 如何使用 React 在资源(.json、.csv 等)上使用代码拆分
- laravel - 提交的表单在 laravel 中检测到一个空对象请求