Как заменить ссылку href определенной сети, используя Javascript? - PullRequest
0 голосов
/ 03 марта 2019

У меня много ссылок из одной и той же сети, но с разными ссылками

<a href="somelink.com/1" title="this link">
</a>
<a href="somelink.com/2" title="this link">
</a>
<a href="somelink.com/3" title="this link">
</a>
<a href="somelink.com/3" title="this link">
</a>

Он пытался использовать код, но он не работает для меня, так как он ищет определенный URL, а не все

var a = document.querySelector('a[href="somelink.com"]');
if (a) {
  a.setAttribute('href', 'replacedlink.com')
}
<a href="somelink.com" title="this link">
</a>

Как я могу сделать это массовым образом и сделать это для всех URL-адресов веб-сайта в estecifico, например: somelink.com

Ответы [ 3 ]

0 голосов
/ 03 марта 2019

Для нескольких предметов мы можем заменить этот способ:

var a = document.querySelectorAll('.your_attr_class').forEach( (item)=>{ 

      if(item.href.startsWith('http://somelink.com')){
        item.href.replace('http://somelink.com','http://replacewith.com');
      }

});
0 голосов
/ 03 марта 2019

Вы можете использовать селектор атрибута ^=, чтобы проверить, начинается ли href с somelink.com.Тогда вы можете заменить URL:

document.querySelectorAll('a[href^="somelink.com"]').forEach(
  x => x.href = x.href.replace("somelink.com", "replacedlink.com")
);
<a href="somelink.com/1" title="this link">a
</a>
<a href="somelink.com/2" title="this link">b
</a>
<a href="somelink.com/3" title="this link">c
</a>
<a href="somelink.com/3" title="this link">d
</a>
<a href="otherlink.com/3" title="this link">e
</a>

Если вы хотите заменить всю ссылку, вы можете установить атрибут href для новой ссылки:

document.querySelectorAll('a[href^="somelink.com"]').forEach(
  x => x.href = "replacedlink.com"
)
<a href="somelink.com/1" title="this link">a
</a>
<a href="somelink.com/2" title="this link">b
</a>
<a href="somelink.com/3" title="this link">c
</a>
<a href="somelink.com/3" title="this link">d
</a>
<a href="otherlink.com/3" title="this link">e
</a>
0 голосов
/ 03 марта 2019
 Try adding class to the links and then use get element by class and replace the link
       <a href="www.google.com" class="abc">my url</a>
        var i=document.getElementByClass("abc");
          for(let j=0;j<i.length;j++){
           i[j].href='newUrl';
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...