使用HTML和Javascript将所有HTML链接转换为另一个URL

时间:2017-07-10 07:54:06

标签: javascript jquery html

我正在尝试在字符串中获取网站主体部分中的所有HTML链接,并将其替换为另一个链接。

尝试过这样的事情,但没有奏效:

var search = "https://www.cloudflare.com/5xx-error-landing?utm_source=error_footer";
var replacement = "https://example.com/";

document.body.innerHTML = document.body.innerHTML.split(search).join(replacement)

https://www.cloudflare.com/5xx-error-landing?utm_source=error_footer”是我要替换的链接,“https://example.com/”是我要替换的链接。

4 个答案:

答案 0 :(得分:5)

这个怎么样:

$("[href='your link']").attr("href","new link");

答案 1 :(得分:0)

$('body').find('a').each(function(){
    $(this).attr('href','your_new_link');
});

或针对不同的href:

$('body').find('a').each(function(){
    var ahref = $(this).attr('href');
    if ( ahref == 'your_old_link') {  /// or ahref.indexOf("your_old_link") >= 0
         $(this).attr('href','your_new_link_1');
    }else{
         $(this).attr('href','your_new_link_2');
    }

});

答案 2 :(得分:0)

只需使用

  $("body a[href='https://www.cloudflare.com']").attr("href","https://example.com/");

答案 3 :(得分:0)

以下是根据您的问题使用普通javascript的解决方案

document.querySelectorAll("[href='" + search + "']").forEach(function(el){
    el.href = replacement );
});

如果你想使用jQuery,就像你标记的那样,按照Nir Tzezana的回答