3

例如,想要修改从 yahoo.com 到 google.com 的所有 href 值

我试过:

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

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

谢谢。

4

5 回答 5

4

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

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

这通过循环遍历其href属性中任何位置具有“yahoo.com”的所有元素,并将该字符串替换为“google.com”来实现。

​&lt;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>​​​​​​​​​​​​​​​​​

变成

​&lt;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>​​​​​​​​​​​​​​​​​
于 2012-05-27T02:26:36.500 回答
2

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

$("[href='http://yahoo.com']").attr("href","http://google.com");
于 2012-05-27T02:23:34.403 回答
2

像这个工作演示的另一个选项:http : //jsfiddle.net/CFpeU/ (http://jsfiddle.net/CFpeU/show) http://jsfiddle.net/CFpeU/2/ (http://jsfiddle.净/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");
于 2012-05-27T02:24:30.730 回答
1

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

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

这将适用于:

一个有效的小提琴示例,以更好地说明解决方案!

于 2012-05-27T02:27:24.140 回答
0

您可以尝试多种方法

$("a[href='http://www.google.com/']").attr('href', 'http://www.live.com/')
于 2012-05-27T02:25:33.177 回答