2012-05-27 41 views
3

例如,要修改從yahoo.com到google.comjQuery,如何修改[href]的值?

所有href的值我想:

$("[href='http://yahoo.com']").val('http://google.com'); 

它不會工作,什麼是這樣做的正確方法?

謝謝。

回答

4

的多種方法如果您希望使用「google.com來取代任何href的 「yahoo.com」 部分「:

$("[href*='yahoo.com']").attr("href", function(i,v){ 
    return v.replace("yahoo.com", "google.com"); 
}); 

這是通過循環遍歷所有具有」yahoo.com「元素的作品在他們的href屬性中,並將該字符串替換爲「google.com」。

​<a href="http://yahoo.com">Yahoo</a> 
<a href="http://www.yahoo.com">www.yahoo.com</a> 
<a href="http://yahoo.com?foo">Yahoo?</a>​​​​​​​​​​​​​​​​​ 

變爲

​<a href="http://google.com">Yahoo</a> 
<a href="http://www.google.com">www.yahoo.com</a> 
<a href="http://google.com?foo">Yahoo?</a>​​​​​​​​​​​​​​​​​ 
+2

不錯,保留鏈接結構,只是指向另一個域! +'d this :) – Zuul

2

你正試圖設置一個沒有的元素的值屬性。相反,你要設置的href attribute,就像這樣:

$("[href='http://yahoo.com']").attr("href","http://google.com"); 
0

有這樣做,你可以嘗試

$("a[href='http://www.google.com/']").attr('href', 'http://www.live.com/') 
1

要更改包含yahoo.com ALLhref值,您可以:

    $("a[href*='yahoo.com']").prop("href", "http://www.google.com");​ 
    

    這將爲工作

  • http://www.yahoo.com
  • www.yahoo.com
  • yahoo.com
  • 等...

的工作Fiddle Example更好地說明解決方案!

+0

+1給你以及B-) –