Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果未单击任何链接,则显示所有div_Javascript_Html_Css - Fatal编程技术网

Javascript 如果未单击任何链接,则显示所有div

Javascript 如果未单击任何链接,则显示所有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:目标{ 显示:块; }

我有一个页面名url.com/yourfirstpage/,当我转到该页面时,默认情况下所有div都隐藏(display:none) 如果我们将#sec1定位为url.com/yourfirstpage/#sec1,它只显示sec1并隐藏其他内容。 我想知道我们是否在没有像url.com/yourfirstpage/这样的锚id的情况下访问url,它需要显示所有div

#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

这种快速方法可能会有所帮助

您可以使用
选择器

[…document.querySelectorAll('a')].forEach(a=>{
a、 addEventListener('单击',()=>{
a、 parentElement.classList.add('targeted')
})
})
。目标div{
显示:无;
}
.目标部门:目标部门{
显示:块;
}

这是sec1
这里是sec2

这里是sec3
是否要显示所有内容?你的问题对我来说有点难以直截了当,所以我想找一些解释:)你不能使用
target
机制来解决这个问题,因为你不能针对多个元素。你需要一些JS。如果url上没有锚id,它需要显示默认情况下所有div都是这个问题的副本,但也有有趣的答案。@KamilKiełczewski几乎相同;)基于与我相同的想法,但不是嵌套元素,而是兄弟元素