从Javascript中的href获取路径名

从Javascript中的href获取路径名,javascript,jquery,Javascript,Jquery,从锚定标签href属性返回“路径名”的最简单方法是什么 例如。。。假设我有: <a href="http://www.example.com/this/is/my/path.html">Blah</a> 我只需要返回这个“/this/is/my/path.html”部分 想法?如果有帮助的话,我正在使用jQuery 谢谢 我想您可以使用路径名 $('a')[0].pathname; 请参见此处的工作示例 HTML <a id='lnk' href="http

从锚定标签href属性返回“路径名”的最简单方法是什么

例如。。。假设我有:

<a href="http://www.example.com/this/is/my/path.html">Blah</a>

我只需要返回这个“/this/is/my/path.html”部分

想法?如果有帮助的话,我正在使用jQuery


谢谢

我想您可以使用路径名

$('a')[0].pathname;

请参见此处的工作示例

HTML

<a id='lnk' href="http://www.example.com/this/is/my/path.html">Blah</a>

我注意到,对于@Funka提到的IE bug,仍然没有合适的答案,所以我的解决方案如下:

HTML


所有浏览器上的结果“/foo”

请参见[如何在javascript中将URL解析为主机名和路径?]()。是的,就这么简单。潜在的警告:我发现IE会给你一个没有前导斜杠的提示,而其他浏览器都会这样做?请参阅和@SamuelSjöberg:断开的链接。请参阅我对本页另一个答案的评论,关于IE中不返回路径中的前导/初始斜杠的不规则性,以及在所有其他浏览器中的工作方式。(FF、chrome、safari和opera都可以)这里提供的JSFIDLE非常有助于在所有不同浏览器中打开后进行测试和查看。
href
路径名不同,当存在查询参数或锚定(
/foo#bar
alert( document.getElementById('lnk').pathname);
<a href="/foo" id="foo">My link</a>
document.getElementById("foo").getAttribute("href");