如果我有一些隐藏的元素(下拉列表),在点击父元素时打开,在这种情况下,我如何通过点击另一个父元素来关闭它们?下面是我在JS中的代码
function toggleElement(elementId) {
var element = document.querySelector(elementId);
element.style.display = element.style.display === "none" ? "block" : "none";
}
document.addEventListener("DOMContentLoaded", function() {
var buttons = document.getElementsByClassName("ContainerForMenu");
for (var i = 0; i < buttons.length; i++) {
buttons[i].addEventListener("click", function() {
var target = this.getAttribute("data-target");
toggleElement(target);
});
}
});
作为一个解决方案,我尝试了这个选项,但它不起作用
function toggleElement(elementId) {
var elements = document.querySelectorAll('.child-element');
for (var i = 0; i < elements.length; i++) {
elements[i].style.display = "none";
}
var element = document.querySelector(elementId);
element.style.display = "block";
}
document.addEventListener("DOMContentLoaded", function() {
var buttons = document.getElementsByClassName("ContainerForMenu");
for (var i = 0; i < buttons.length; i++) {
buttons[i].addEventListener("click", function() {
var target = this.getAttribute("data-target");
toggleElement(target);
});
}
});
1条答案
按热度按时间laik7k3q1#
按照我的代码,你可以使用toggle根据按钮的点击来切换元素的可见性。