Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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
如何使用JQuery/JavaScript/CSS实现显示请求的命名锚_Javascript_Jquery_Accordion_Anchor - Fatal编程技术网

如何使用JQuery/JavaScript/CSS实现显示请求的命名锚

如何使用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

页面有一个容器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>
  <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将看到该页面,并适当地设置各种显示属性,以便与命名锚对应的内容可见

  • 请求的URL是否可供访问 JQuery
  • 正在检查是否已命名 URL中的锚通常是完成的 早在$(文档)。准备好了吗?()
  • 是 这很难在一个 跨浏览器方式
  • 是否有从URL提取锚定的库例程,或者每个人都使用自己的正则表达式

  • 您可以使用
    location.hash
    从URL检索锚点。这将跨浏览器工作,并在
    $(document.ready
    中工作

    例如:

    $("div.container > div").removeClass("lurk");
    if (location.hash)
        $("#" + location.hash).addClass("lurk");
    

    location.hash的开头已经有“#”。另外,我认为您的addClass/removeClass是反向的。:-)在采纳了本·布兰克的建议修正后,这一方法奏效了。谢谢