我一直在尝试用 vanilla JS 构建一个基本的标签系统。我正在使用 for 循环,以便在单击选项卡时添加活动的类。这很好,但现在我需要在下面显示相应的 tab-content 元素。我尝试使用相同的方法,例如将以下内容添加到 switchClass 函数: tabContents.classList.remove("show-content"); tabContents.classList.add("显示内容");
但这并没有按预期工作。
const tabs = document.querySelectorAll(".tab");
const tabContents = document.querySelector(".tab-content");
for (let i = 0; i < tabs.length; i++) {
const tab = tabs[i];
tab.addEventListener("click", switchClass);
}
function switchClass(e) {
for (let i = 0; i < tabs.length; i++) {
const tab = tabs[i];
tab.classList.remove("active");
tabContents.classList.remove("show");
}
e.target.classList.add("active");
tabContents.classList.add("show");
}
ul {
margin: 0;
padding: 0;
}
.tab {
display: inline-block;
border: 1px solid lightgrey;
padding: 10px;
cursor: pointer;
}
.active {
background: lightgrey;
}
.tab-content {
display: none;
padding: 10px;
}
.show-content {
display: block;
background: lightgray;
}
<ul>
<li class="tab active">Tab 1</li>
<li class="tab">Tab 2</li>
<li class="tab">Tab 3</li>
</ul>
<div class="tab-content show-content">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</p>
</div>
<div class="tab-content">
<p>Phasellus aliquam orci neque, non varius quam gravida vel.</p>
</div>
<div class="tab-content">
<p>
Vivamus iaculis est in sapien congue, ac condimentum.
</p>
</div>
白衣非少年
互换的青春
MYYA
宝慕林4294392
翻翻过去那场雪
随时随地看视频慕课网APP
相关分类