有一个网站example.com。我想更改该网站上的所有链接,以便它们显示给不同的主机。我需要更改这些类型的链接:
<a href="page.html?attr=1">Link</a>
<a href="example.com/page2.html?attr=1">Link</a>
<a href="subdomain.example.com/page3.html?attr=1">Link</a>
到
<a href="mirror.com/page.html?attr=1">Link</a>
<a href="mirror.com/page2.html?attr=1">Link</a>
<a href="subdomain.mirror.com/page3.html?attr=1">Link</a>
按原样保留form和js urls。我想知道这样做的痛苦方法是什么?我知道用正则表达式解析网址很糟糕,那么如何将这些网址解析为类并对它们进行操作呢?
答案 0 :(得分:0)
$('a').each(function(){
var $me = $(this);
var url = $me.attr('href');
var newUrl = url.replace('example','mirror');
if(newUrl.indexOf('mirror') < 0) newUrl = 'mirror.com/' + url;
$me.attr('href',newUrl);
})
这将改变所有<a>
并且只改变它们(没有形式和脚本href)