【发布时间】:2021-12-03 23:23:10
【问题描述】:
所以我在 HTML 中构建了一个表单,它使用了很多复选框和隐藏的 Div。我现在正在使用
function HideDiv1() {
var checkBox = document.getElementById("Check1");
var div = document.getElementById("Div1");
if (checkBox.checked == true) {
div.style.display = "block";
} else {
div.style.display = "none";
}
}
<input type="checkbox" id="Check1">CheckBox to show Div1
<div id="Div1" style="display: none;">I should be hidden, assuming the author didn't mess up!</div>
根据相应的复选框隐藏每个 div。但这意味着我每次都在复制和重写这个函数,而且我喜欢保留我的函数的部分变得相当大。我想知道是否有一种更简单的方法可以做到这一点,这样我只需要一个函数就可以动态显示和隐藏 Div,而无需每次都复制和重写这个函数。
(如果有一些简单的 JQuery 解决方案:请记住,我不知道如何使用 JQuery)
这可能是重复的,我以前看过一次答案,但我不知道如何再次找到它:(
【问题讨论】:
-
你应该避免在 2021 年在 JS 中使用
.style函数。现代方法是使用.classList+.add('class-name')、.remove('class-name')或.toggle('class-name')通过 CSS 应用更改。这导致的问题要少得多,包括。可能的特异性权重问题。
标签: javascript html css dynamic display