Javascript 基于url中的哈希显示元素

Javascript 基于url中的哈希显示元素,javascript,jquery,html,css,hash,Javascript,Jquery,Html,Css,Hash,我有一个页面/categories.html,包含大约50个p元素: <p id='BCI'>Blue_colored_items</p> <p id='RCI'>Red_colored_items</p> ... 如果 是请求的url,依此类推 我应该如何让它工作?我可以更改整个html。您可以从window.location.hash属性获取值。然后可以隐藏所需的内容,但不包括指定的元素,如下所示: var hash='BCI';//win

我有一个页面/categories.html,包含大约50个p元素:

<p id='BCI'>Blue_colored_items</p>
<p id='RCI'>Red_colored_items</p>
...
如果

是请求的url,依此类推


我应该如何让它工作?我可以更改整个html。

您可以从window.location.hash属性获取值。然后可以隐藏所需的内容,但不包括指定的元素,如下所示:

var hash='BCI';//window.location.hash; $'p'.nothash.hide; 蓝色物品


您可以从window.location.hash属性获取值。然后可以隐藏所需的内容,但不包括指定的元素,如下所示:

var hash='BCI';//window.location.hash; $'p'.nothash.hide; 蓝色物品

红色物品

将任何现有哈希作为类添加到元素中,允许您使用CSS进行控制:

p {display:none;}
.BCI p#BCI {display: inline;}
.RCI p#RCI {display: inline;}
...
或者,您可以简单地基于哈希搜索,并显示它:

//此处仅需要StackOverflow的硬编码哈希,因此: window.location.hash='BCI'; 设p=document.getElementByIdwindow.location.hash.substring1; 如果p.style.display='inline'; p{显示:无;} 蓝色物品

红色物品

将任何现有哈希作为类添加到元素中,允许您使用CSS进行控制:

p {display:none;}
.BCI p#BCI {display: inline;}
.RCI p#RCI {display: inline;}
...
或者,您可以简单地基于哈希搜索,并显示它:

//此处仅需要StackOverflow的硬编码哈希,因此: window.location.hash='BCI'; 设p=document.getElementByIdwindow.location.hash.substring1; 如果p.style.display='inline'; p{显示:无;} 蓝色物品

红色物品

我刚刚发现效果很好

<style>
p {display: none}
:target {display: block}
</style>
无论如何,谢谢你的回答,罗里和安德烈。

我刚刚发现工作做得很好

<style>
p {display: none}
:target {display: block}
</style>
无论如何,谢谢你的回答,Rory和Andrei

<style>
p {display: none}
:target {display: block}
</style>