javascript - 从列表中一次显示一个元素/div
问题描述
我正在尝试使单个代码隐藏具有同一类的所有元素,但按 ID 显示一个元素。它现在的实现方式只是将 div 堆叠在一起。无论如何一次只显示一个div?
<script>
function CurtindoAlesadoDesktop() {
var x = document.getElementById("curtindo-a-vida-alesado");
if (x.style.display === "block") {
x.style.display = "none";
} else {
x.style.display = "block";
}
}
</script>
使用中的链接:maninhoflix.com.br(仅限桌面)
解决方案
也许像下面这样?
function showIdAndHideOthers(idToShow) {
const elementsToHide = document.getElementsByClassName('class-to-hide');
const elementToShow = document.getElementById(idToShow);
for (const el of elementsToHide) {
el.style.display = 'none';
}
elementToShow.style.display = 'block';
}
或者,您可以使用两个 CSS 类,一个默认隐藏所有元素,另一个显示活动元素。然后,您可以跟踪最近显示的元素并简单地添加/删除一个类。
例如(CSS):
.thing {
display: none;
}
.thing.selected {
display: block;
}
JS:
let lastElement;
function showIdAndHideOthers(idToShow) {
const elementToShow = document.getElementById(idToShow);
if (lastElement != null) {
lastElement.classList.remove('selected');
}
elementToShow.classList.add('selected');
lastElement = elementToShow;
}
推荐阅读
- ios - 在 Swift 中更改类型
- git - 如何将存储库中所做的更改推送到另一个存储库
- basic4android - B4A 如何在不相关的应用程序上弹出消息框
- javascript - 如何按顺序从数组发送 API 请求
- python - Traceback(最近一次调用最后一次):,第 131 行,在
print(self.marka) NameError: name 'self' is not defined - google-iam - 为什么我的 Firebase 应用无法连接到 Google Secret Manager?
- javascript - 无法将元素的多个属性传递给 java 脚本函数
- python - 按 3 个月和 6 个月汇总
- python - 如何使用 python 3 获取列表项列表中所有列表 [1] 的总和?
- javascript - 无法理解处理鼠标事件的代码