jQuery,如何修改[href]值?

时间:2012-05-27 02:21:31

标签: jquery

例如,想要将yahoo.com中的所有href值修改为google.com

我试过了:

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

它不起作用,这样做的正确方法是什么?

感谢。

5 个答案:

答案 0 :(得分:4)

如果您希望用“google.com”替换任何href的“yahoo.com”部分:

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

这可以通过在href属性中的任何位置循环显示“yahoo.com”的所有元素,并使用“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>​​​​​​​​​​​​​​​​​

答案 1 :(得分:2)

您正尝试在没有的元素上设置value属性。相反,您要设置href attribute,如下所示:

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

答案 2 :(得分:2)

另一个选项,例如工作演示http://jsfiddle.net/CFpeU/(http://jsfiddle.net/CFpeU/show) http://jsfiddle.net/CFpeU/2/(http ://jsfiddle.net/CFpeU/2/show/)

道具API:http://api.jquery.com/prop/

代码:

$(".foo").prop("href","http://www.google.com");​

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

答案 3 :(得分:1)

要更改包含yahoo.com的所有 href值,您可以:

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

这适用于:

工作Fiddle Example以更好地说明解决方案!

答案 4 :(得分:0)

有多种方法可以尝试

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