5

我正在寻找一种使用 JavaScript 从当前 URL 中检索 #anchor 部分的方法。例如:

http://my-page.com/index.html#contact-us

会回来contact-us的。

我最终可以拆分 URI,#然后取最后一块,但我正在寻找一个更好、更清晰的建议。本机(jQuery?)函数会很棒,但我想我要求太多了。

4

3 回答 3

12

使用location.hash

location.hash.slice(1);

它以 开头#,因此.slice(1)。给定一个任意字符串,您可以通过创建一个元素来使用内置的 URL 解析功能<a>,并设置 href,然后读取其他属性,例如protocolhostnamehash等。 jQuery 示例:

$('a').attr('href', url)[0].hash;
于 2012-07-04T19:45:27.033 回答
2

location.hash.replace(/^#/, "")

于 2012-07-04T19:45:41.183 回答
1

如果您使用变量:

var url = "http://my-page.com/index.html#contact-us";

var hash = url.substring(url.indexOf("#") + 1);
于 2012-07-04T19:45:52.580 回答