Изменить хост всех ссылок на странице с помощью js / jquery

#javascript #jquery #url #uri

#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>
  

Оставив URL-адреса form и js как есть. Интересно, какой менее болезненный способ сделать это? Я знаю, что синтаксический анализ URL-адресов с помощью регулярных выражений — это плохо, так как я могу проанализировать эти URL-адреса как класс и выполнять с ними операции?

Ответ №1:

вы могли бы попробовать это:

 $('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 скрипта)