如何使用jQuery更改超链接的href

你如何改变使用jQuery的超链接的href?


$("a").attr("href", "http://www.google.com/")

...将修改所有超链接的href指向Google。 你可能想要一个更精致的选择器。 例如,如果您有链接源(超链接)和链接目标(又名“锚”)的锚标记的组合:

<a name="MyLinks"></a>
<a href="http://www.codeproject.com/>The CodeProject</a>

...然后你可能不想不小心将href属性添加到它们。 为了安全起见,我们可以指定我们的选择器将只匹配<a>标记与现有的href属性:

$("a[href]") //...

当然,你可能会想一些更有趣的事情。 如果你想匹配一个特定的现有href锚点,你可以使用这样的东西:

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

这将找到href完全匹配字符串http://www.google.com/ 。 更复杂的任务可能是匹配,然后只更新href一部分:

$("a[href^='http://stackoverflow.com']")
   .each(function()
   { 
      this.href = this.href.replace(/^http://beta.stackoverflow.com/, 
         "http://stackoverflow.com");
   });

第一部分只选择href以http://stackoverflow.com开头的链接。 然后,定义一个函数,使用一个简单的正则表达式来替换这部分URL。 注意这给你的灵活性 - 可以在这里完成对链接的任何修改。


使用jQuery 1.6或更高版本,您应该使用:

$("a").prop("href", "http://www.jakcms.com")

prop和attr之间的区别在于attr抓住了prop属性获取DOM属性的HTML属性。

你可以在这篇文章中找到更多细节:.prop()vs .attr()


在查找中使用attr方法。 您可以切换出任何具有新值的属性。

$("a.mylink").attr("href", "http://cupcream.com");
链接地址: http://www.djcxy.com/p/12375.html

上一篇: How to change the href for a hyperlink using jQuery

下一篇: JavaScript that executes after page load