Javascript 从当前URL获取#id
我正在寻找一种使用JavaScript从当前URL检索#锚定部分的方法。 例如: 将返回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;
联系我们
我可以在最后的#
处拆分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);