从当前URL获取#id

时间:2012-07-04 19:44:15

标签: javascript jquery url uri

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

  

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

会返回contact-us

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

3 个答案:

答案 0 :(得分:11)

使用location.hash

location.hash.slice(1);

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

$('a').attr('href', url)[0].hash;

答案 1 :(得分:2)

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

答案 2 :(得分:1)

如果您使用变量:

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

var hash = url.substring(url.indexOf("#") + 1);