我正在寻找一种使用JavaScript获取当前URL中#锚点的方法。例如:
我可以在URI处拆分并选择最后一部分,但我正在寻找更好和更干净的建议。原生(jQuery?)函数很好,但我想我要求太多了。
将返回
contact-us
。我可以在URI处拆分并选择最后一部分,但我正在寻找更好和更干净的建议。原生(jQuery?)函数很好,但我想我要求太多了。
将返回
contact-us
。location.hash.slice(1);
这个字符串以#
开头,因此要用 .slice(1)
。对于任意的字符串,你可以创建一个 <a>
元素并设置 href 属性来使用内置的 URL 解析功能,然后读取其他属性,例如 protocol
、hostname
、hash
等。 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);
splice
和slice
都不是String.prototype
的一部分。但是,location.hash.substr(1)
可以解决问题。 - lonesomedayString.prototype.slice
。 - Rob Wsubstr()
本身(与slice()
不同)是非标准的。 - Tim Down