Javascript 从当前URL获取#id

Javascript 从当前URL获取#id,javascript,jquery,url,uri,Javascript,Jquery,Url,Uri,我正在寻找一种使用JavaScript从当前URL检索#锚定部分的方法。 例如: 将返回联系我们 我可以在最后的#处拆分URI,然后获取最后一部分,但我正在寻找一个更好、更简洁的建议。本机(jQuery?)函数会很好,但我想我要求的太多了。使用: 它以#开头,因此.slice(1)。给定任意字符串,您可以通过创建元素来使用内置URL解析功能,并设置href,然后读取其他属性,例如协议,主机名,哈希,等等。jQuery示例: $('a').attr('href', url)[0].hash;

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

将返回
联系我们

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

使用:

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

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

location.hash.replace(/^#/,“”)
如果使用变量:

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

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

拼接
切片
都不是
字符串的一部分。原型
<代码>位置.hash.substr(1)就可以了。@lonesomeday谢谢,这是代码中的一个输入错误。解释使用了正确的字符。编辑:在MDN上。
slice
当然是
String.prototype
的一部分。为我的愚蠢道歉。@lonesomeday:讽刺的是,
substr()
本身(不像
slice()
)是非标准的。
var url = "http://my-page.com/index.html#contact-us";

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