Javascript 如果未单击任何链接,则显示所有div
我有一个页面名url.com/yourfirstpage/,当我转到该页面时,默认情况下所有div都隐藏(display:none) 如果我们将#sec1定位为url.com/yourfirstpage/#sec1,它只显示sec1并隐藏其他内容。 我想知道我们是否在没有像url.com/yourfirstpage/这样的锚id的情况下访问url,它需要显示所有divJavascript 如果未单击任何链接,则显示所有div,javascript,html,css,Javascript,Html,Css,我有一个页面名url.com/yourfirstpage/,当我转到该页面时,默认情况下所有div都隐藏(display:none) 如果我们将#sec1定位为url.com/yourfirstpage/#sec1,它只显示sec1并隐藏其他内容。 我想知道我们是否在没有像url.com/yourfirstpage/这样的锚id的情况下访问url,它需要显示所有div #sec1、#sec2、#sec3{ 显示:无; } #第1部分:目标{ 显示:块; } #sec2:目标{ 显示:块; }
#sec1、#sec2、#sec3{
显示:无;
}
#第1部分:目标{
显示:块;
}
#sec2:目标{
显示:块;
}
#sec3:目标{
显示:块;
}
这是sec1
这里是sec2
这是sec3
如果您能够修改HTML结构,这里有一个技巧。我们的想法是让元素可见,然后使用:target
隐藏它们。因为我们没有以前的同级选择器或父选择器,所以我在父元素中使用id来选择任何元素:
#第1节:目标。第页:第n个子项(n+2){
显示:无;
}
#sec2:目标。第页:第n个子(2n+1){
显示:无;
}
#sec3:目标。第页:第n个最后一个子项(n+2){
显示:无;
}
这是sec1
这里是sec2
这里是sec3
这种快速方法可能会有所帮助
您可以使用使用postcss插件在CSS中使用代码>选择器
[…document.querySelectorAll('a')].forEach(a=>{
a、 addEventListener('单击',()=>{
a、 parentElement.classList.add('targeted')
})
})
。目标div{
显示:无;
}
.目标部门:目标部门{
显示:块;
}
这是sec1
这里是sec2
这里是sec3
是否要显示所有内容?你的问题对我来说有点难以直截了当,所以我想找一些解释:)你不能使用target
机制来解决这个问题,因为你不能针对多个元素。你需要一些JS。如果url上没有锚id,它需要显示默认情况下所有div都是这个问题的副本,但也有有趣的答案。@KamilKiełczewski几乎相同;)基于与我相同的想法,但不是嵌套元素,而是兄弟元素