如何使用JQuery/JavaScript/CSS实现显示请求的命名锚
页面有一个容器div,其中包含多个内容div。每个内容div都有一个命名的锚。一次仅显示一个内容div: 例如:如何使用JQuery/JavaScript/CSS实现显示请求的命名锚,javascript,jquery,accordion,anchor,Javascript,Jquery,Accordion,Anchor,页面有一个容器div,其中包含多个内容div。每个内容div都有一个命名的锚。一次仅显示一个内容div: 例如: <style> .lurk { display: none; } </style> <div class="container"> <div id="c1"> <a name="#c1">One</a> is the loneliest number. </div> <d
<style>
.lurk { display: none; }
</style>
<div class="container">
<div id="c1">
<a name="#c1">One</a> is the loneliest number.
</div>
<div id="c2" class="lurk">
<a name="#c2">Two</a> is company.
</div>
<div id="c3" class="lurk">
<a name="#c3">Three</a> is a crowd.
</div>
</div>
<script>
// ... something that adds and removes the lurk class from the content divs
</script>
.潜伏{显示:无;}
一个是最孤独的数字。
二是公司。
三是人群。
// ... 从content div中添加和删除潜伏类的东西
所需的行为是,如果有人在URL中使用有效的命名锚请求页面,JavaScript/JQuery将看到该页面,并适当地设置各种显示属性,以便与命名锚对应的内容可见
您可以使用
location.hash
从URL检索锚点。这将跨浏览器工作,并在$(document.ready
中工作
例如:
$("div.container > div").removeClass("lurk");
if (location.hash)
$("#" + location.hash).addClass("lurk");
location.hash的开头已经有“#”。另外,我认为您的addClass/removeClass是反向的。:-)在采纳了本·布兰克的建议修正后,这一方法奏效了。谢谢