4 回答

TA贡献1789条经验 获得超8个赞
您可以使用按钮单击处理程序来切换描述文本上的类以切换其可见性。完整的工作示例:
const descBtns = document.querySelectorAll('.desc-btn');
descBtns.forEach((btn) => {
btn.addEventListener('click', (e) => {
descText = btn.nextElementSibling;
descText.classList.toggle('show');
});
});
.desc-btn {
display: block;
margin-bottom: 10px;
}
.desc {
display: none;
}
.desc.show {
display: block;
}
<button class="desc-btn">desc btn</button>
<p class="desc">description here</p>
<button class="desc-btn">desc btn 2</button>
<p class="desc">description here 2</p>
<button class="desc-btn">desc btn 3</button>
<p class="desc">description here 3</p>

TA贡献1946条经验 获得超3个赞
为具有“隐藏背景”、“显示背景”类的按钮添加两个事件侦听器。单击任何一个时,将元素类更改为另一个。
.show-background div{ display:block};
.hide-background div{ display:none};
const showBgnd = document.getElementsByClassName('show-background');
const hideBgnd = document.getElementsByClassName('hide-background');
showBgnd.addEventListener('click', (e)=>{
showBgnd.setAttribute("class","hide-background");
});
hideBgnd.addEventListener('click', (e)=>{
hideBgnd.setAttribute("class","show-background");
});

TA贡献1860条经验 获得超8个赞
const descriptionBtn = document.querySelectorAll('.desc-btn');
descriptionBtn.forEach(element => {
element.onclick = function (e) {
if (this.style.display === "block") {
this.style.display = "none";
} else {
this.style.display = "block";
}
};
});

TA贡献1772条经验 获得超6个赞
您可以使用三级运算符来询问该框当前是否正在显示。如果是块将设置为隐藏,如果不是则将其设置为显示块。这是其他 JS 框架中常见的设计模式,因此值得一试。
const descriptionBtn = document.querySelectorAll('.desc-btn');
descriptionBtn.forEach((btn) => {
btn.addEventListener('click', (e) => {
descriptionBox = btn.nextElementSibling;
descriptionBox.style.display === "block" ? discriptionBox.style.display = 'hidden' :
discriptionBox.style.display = 'block'
});
});
添加回答
举报