如何使用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属性的标签:
href
<a>
$("a[href]") //...
当然,您可能会想到一些更有趣的东西。如果要使锚与特定的锚匹配href,则可以使用如下所示的方法:
$("a[href='http://www.google.com/']").attr('href', 'http://www.live.com/')
这将找到href与字符串完全匹配的链接http://www.google.com/。一个更复杂的任务可能是匹配的,然后仅更新的一部分href:
http://www.google.com/
$("a[href^='http://stackoverflow.com']") .each(function() { this.href = this.href.replace(/^http:\/\/beta\.stackoverflow\.com/, "http://stackoverflow.com"); });
第一部分仅选择href 开头 为的链接http://stackoverflow.com。然后,定义一个函数,该函数使用简单的正则表达式用新的正则表达式替换URL的这一部分。请注意,这为您提供了灵活性- 可以在此处对链接进行任何形式的修改。
http://stackoverflow.com