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) ;
});