使用jQuery将href =“”的内容替换为“#”。

8
我需要一种使用jQuery替换<a href="this text"中包含的文本的方法,我想将引号中的任何文本替换为'#'。 有什么建议吗?

请查看jQuery文档:http://api.jquery.com/attr/ - Colonel Sponsz
重复 - https://dev59.com/bnVC5IYBdhLWcg3wz0h9 - user113716
3个回答

15
$('a').attr('href', '#');

6
值得一提的是:$('a').attr('href') 实际上会返回 href 属性中的任何内容。jQuery有一个很棒的API,网址是:http://api.jquery.com - dclowd9901
6
请注意,这段示例代码将替换页面上所有链接的href值,这可能不是原帖作者想要做的。如果要缩小到单个元素,请改用ID选择器 - $('#myLink').attr('href', '#'); - Andy E

7

...

$(function(){
 $('a').attr('href', '#');
});

当页面加载时,ready 处理程序应负责更改链接的 href

如果您有设置了某些类或 ID 的链接,可以简单地执行以下操作:

$(function(){
 $('a.link_class').attr('href', '#');
 // $('#some_id').attr('href', '#'); // for id
});

如果您想通过按钮点击等方式实现此操作,可以按照以下步骤进行操作:
$('#button_id').click(function(){
  $('a').attr('href', '#');
});

4
这将是最简单的方法:
$('a').attr('href', '#');

但是,如果您的页面上有多个<div>标签,您可能需要一个ID来单独替换特定的标签。

<a id='replaceme' href='...'></a>

如果您只想重写其中的一个子集,请为它们分配一个类。
<a class='replaceme2' href='...'></a>
<a class='replaceme2' href='...'></a>

那么你可以按照以下步骤操作:
$('#replaceme').attr('href', '#');  
//This will only replace the href for a single link

或者

$('.replaceme2').attr('href', '#');
//This will replace the href for all links with the replaceme2 class

1
然而,如果您在页面上有多个标记,则可能需要一个ID来使其单独。ID应该是唯一的。请改用class(类) - Mathias Bynens
这正是我所想表达的,也是为什么我给出了使用类的附加示例。我已经更新了答案的文本,希望更清晰易懂。 - Wally Lawless

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接