【发布时间】:2021-07-31 10:17:26
【问题描述】:
我正在制作一个带有部分的网站。基本上,您按下页面底部的一个按钮,它将显示连接到该按钮的 div。
因此,我只需要隐藏四个部分并显示“home”部分:
.container-pages {
display: none;
}
#home-page {
display: block;
}
而对于 HTML,它只是部分和按钮...
<!--sections-->
<div id="home-page" class="container-pages">
<h1>HOME</h1>
</div>
<div id="start-page" class="container-pages">
<h1>START</h1>
</div>
<div id="learn-page" class="container-pages">
<h1>LEARN</h1>
</div>
<div id="contact-page" class="container-pages">
<h1>CONTACT</h1>
</div>
<!--buttons-->
<div id="bottom-menu">
<div class="bottom-buttons bottom-menu-items" id="home-button">HOME</div>
<div class="bottom-buttons bottom-menu-items" id="start-button">START A PROJECT</div>
<div class="bottom-buttons bottom-menu-items" id="learn-button">LEARN</div>
<div class="bottom-buttons bottom-menu-items" id="contact-button">CONTACT US</div>
</div>
现在是 JavaScript:
// creating an array with the 4 html sections (pages):
const pages = [...document.getElementsByClassName('container-pages')];
// creating an array with the 4 html sections (pages):
const pages = [...document.getElementsByClassName('container-pages')];
.container-pages {
display: none;
}
#home-page {
display: block;
}
<!--sections-->
<div id="home-page" class="container-pages">
<h1>HOME</h1>
</div>
<div id="start-page" class="container-pages">
<h1>START</h1>
</div>
<div id="learn-page" class="container-pages">
<h1>LEARN</h1>
</div>
<div id="contact-page" class="container-pages">
<h1>CONTACT</h1>
</div>
<!--buttons-->
<div id="bottom-menu">
<div class="bottom-buttons bottom-menu-items" id="home-button">HOME</div>
<div class="bottom-buttons bottom-menu-items" id="start-button">START A PROJECT</div>
<div class="bottom-buttons bottom-menu-items" id="learn-button">LEARN</div>
<div class="bottom-buttons bottom-menu-items" id="contact-button">CONTACT US</div>
</div>
那么我如何过滤这个数组,它只用 <divs> 的样式创建一个新数组 display: block; ?
我试过了:
const currentSelection = pages.filter(div => div.style.display == 'block');
但是当我在控制台上登录 currentSelection 时,我得到一个空数组。
在这方面的任何帮助都会很棒!
提前致谢, 门萌。
【问题讨论】:
-
如果在单击按钮时尝试向目标 div 添加一个类怎么办?并让该类覆盖显示无以显示块?
标签: javascript html css arrays filter