2015-11-06 38 views
1

使用JavaScript代替了獨特的HTML(HREF)字符串,我怎樣才能改變這種無類錨(假設針對獨特的HREF字符串):查找和使用JavaScript

<a href="/unique-url-string/"></a> 

到這一點,在頁面加載:

<a href="/replacement-url-string/"></a> 

回答

4

您可以根據其href道具選擇元素。

$('a[href="/unique-url-string/"]').prop('href', '/replacement-url-string/'); 

如果你想只搜索這些URL的pathname,並保持域名一樣,你可以嘗試這樣的:

$('a').filter(function() { 
    return this.pathname === "/foo/bar" 
}).prop('href', function() { 
    this.pathname = '/butt/butt/butt'; 
    return this; 
}); 
+0

太棒了!做到了。出於好奇,是不是很容易替換說只有一部分的href字符串?例如:domain.com/unique-string/到domain.com/replacement-url-string/,但忽略domain.com部分? – vulgarbulgar

+0

你必須跟蹤域名是什麼,因爲你會重寫整個事情。我會發佈一個小的更新到我的答案。 –

+0

太棒了。感謝擴展的解決方案。 – vulgarbulgar

0

只是這樣做:

$().ready(function(){ 
    $('a').attr("href").replace("unique","replacement"); 
}); 
0

var link = document.getElementById('linkToChange'); 
 
console.log(link.href); 
 
link.href = "http://www.google.com";
<a href="about:blank" id="linkToChange">me</a>

1

試試這個: -

$(function(){ 
    $('a[href="/unique-url-string/"]').attr('href', '/replacement-url-string/'); 
}); 

到替換部分: -

$(function(){ 
    var a = $('a[href="/unique-url-string/"]'); 
    a.attr('href', a.attr('href').replace('unique', 'replacement')); 
}); 
1

僅使用JavaScript而無需庫文件

function replaceLink(oldLink, newLink) { 
var x = document.getElementsByTagName("a"); 
    for(var i = 0; i < x.length; i++) 
     if(x[i].href == oldLink) { 
      x[i].href == newLink; 
      break; 
     } 
    } 
}