我正在寻找一种通过JavaScript从当前URL检索#anchor部分的方法。 例如:
会返回contact-us
。
我可以在最终#
分割URI,然后拿最后一块,但我正在寻找一个更好,更清晰的建议。原生(jQuery?)函数会很棒,但我想我的要求太多了。
答案 0 :(得分:11)
location.hash.slice(1);
以#
开头,因此.slice(1)
。给定一个任意字符串,您可以通过创建<a>
元素来使用内置的URL解析功能,并设置href,然后读取其他属性,例如protocol
,hostname
,hash
等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);