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

该页面有一个容器div,它包含多个内容div。 每个内容div都有一个命名锚。 一次只显示一个内容div:

例:

 .lurk { display: none; }  
One is the loneliest number.
Two is company.
Three is a crowd.
// ... something that adds and removes the lurk class from the content divs

期望的行为是,如果有人使用URL中的有效命名锚点请求页面,则JavaScript / JQuery将看到它并适当地设置各种显示属性,以便可以看到与命名锚点对应的内容。

  1. 请求URL是否可用于JQuery?
  2. 是否通常在$(document).ready?()中检查URL中的命名锚点
  3. 这是难以跨浏览器的方式吗?
  4. 是否有用于从URL中提取锚点的库例程,或者每个人都使用自己的正则表达式?

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

例如:

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