[英]Hiding HTML Content with javascript via class names
我本来不想问这个问题的,但是搜索了这里的相关文章后,我不得不问。 我的代码有 7 个导航链接,它们都具有相同的类,并且由于 html 很长,我希望能够在单击链接之前隐藏内容,并在单击另一个导航链接时使内容消失; 为下一个留出空间。 我更喜欢 vanilla js 的答案,因为这就是我现在正在学习的。 这是我的笔的链接: Codepen
<ul>
<a href="#Hello_World" class="nav-link" onclick='myFunction()'>
<li>Hello World</li>
</a>
<a href="#Introducing_JSX" class="nav-link">
<li>Introducing JSX</li>
</a>
<a href="#Rendering_Elements" class="nav-link">
<li>Rendering Elements</li>
</a>
<a href="#Components_and_Props" class="nav-link">
<li>Components and Props</li>
</a>
<a href="#State_and_Lifecycle" class="nav-link">
<li>State and Lifecycle</li>
</a>
<a href="#Handling_Events" class="nav-link">
<li>Handling Events</li>
</a>
<a href="#Thinking_in_React" class="nav-link">
<li>Thinking in React</li>
</a>
</ul>
这是我的导航栏的示例。
免责声明:我完全是一个 js 初学者。 感谢您的耐心和时间。
我正在使用本教程作为指南。
CSS
.tabcontent{display:none}
HTML
<ul>
<li>
<button id="default" class="tablinks" onclick="myFunction('helloWorld')">Hello World</button>
<div id="helloWorld" class="tabcontent">
<ul><li>1</li><li>2</li><li>3</li></ul>
</div>
</li>
<li>
<button class="tablinks" onclick="myFunction('jsx')">JSX</button>
<div id="jsx" class="tabcontent">
<ul><li>Intro JSX</li><li>Intro JSX 2</li></ul>
</div>
</li>
<li>
<button class="tablinks" onclick="myFunction('react')">React</button>
<div id="react" class="tabcontent">
<ul><li>intro raect 1</li><li>intro react 2</li></ul>
</div>
</li>
</ul>
JS
function myFunction(id){
var i, tabcontent;
// Get all elements with class="tabcontent" and hide them
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
// Show the current tab, and add an "active" class to the link that opened the tab
document.getElementById(id).style.display = "block";
}
document.getElementById("default").click();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.