Javascript 使用jquery从链接中删除基本url

Javascript 使用jquery从链接中删除基本url,javascript,jquery,Javascript,Jquery,如果我有一个链接列表,比如 <a href="http://www.mywebsite.com/Scripts/xx.pdf>link1</a> <a href="http://www.mywebsite.com/Scripts/xx1.pdf>link2</a> 我如何才能在页面加载(jquery)删除网站地址,以便在最后只有相对的url像 <a href="/Scripts/xx.pdf>link1</a> <

如果我有一个链接列表,比如

<a href="http://www.mywebsite.com/Scripts/xx.pdf>link1</a>
<a href="http://www.mywebsite.com/Scripts/xx1.pdf>link2</a>

我如何才能在页面加载(jquery)删除网站地址,以便在最后只有相对的url像

<a href="/Scripts/xx.pdf>link1</a>
<a href="/Scripts/xx1.pdf>link2</a>

有共享的代码段可用于删除基本url:

您可以将其与回调函数
.attr()
方法一起使用:

$('a').attr('href',function(i,o){
  return RemoveBaseUrl(o) ;
});

请查看下面的代码片段。出于演示目的,我使用了
href
开头的
http://stacksnippets.net/
。希望它能对你有所帮助

首先单击“打印Href”按钮查看原始
Href
。然后单击“从Href中删除基本地址”按钮,该按钮将更改
Href
以从所有



从Href打印HrefRemove base
Link1 Href:

Link2 Href:


这个解决方案怎么样:还接受正则表达式作为第一个参数,因此您可以使用
url.replace(baseUrlPattern,”)
。它可能更具可读性?这不适用于URL,例如(它返回“-there.test.com/match”),更好的正则表达式应该是/^http(s)?:\/\/[A-z0-9-]+(\.[A-z0-9-]+)*?(:[0-9]+)(\/)?$/i
$('a').attr('href',function(i,o){
  return RemoveBaseUrl(o) ;
});