一尘不染

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

javascript

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


阅读 372

收藏
2020-04-25

共1个答案

一尘不染

使用

$("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的这一部分。请注意,这为您提供了灵活性-
可以在此处对链接进行任何形式的修改。

2020-04-25