使用js / jquery更改页面上所有链接的主机

时间:2016-10-01 08:54:26

标签: javascript jquery url uri

有一个网站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。我想知道这样做的痛苦方法是什么?我知道用正则表达式解析网址很糟糕,那么如何将这些网址解析为类并对它们进行操作呢?

1 个答案:

答案 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)