使用jQuery替换链接中HREF属性的一部分

8

我刚接触jQuery,需要替换链接中A HREF属性的一部分。更具体地说,需要一段代码来从轻量级应用程序中删除"s1600-h"中的"-h":

换句话说,将s1600-h变为s1600

此外,在使用这段代码之前,我需要使用$(function()还是$(document).ready(function()吗?


1
$(function() 是后者的短代码。 - qwertzman
4个回答

27
$(document).ready(function(){
    $('a').each(function(){
        this.href = this.href.replace('s1600-h', 's1600');
    });
});

2
jQuery(document).ready(function() {
  jQuery('a').each(function(){
     this.href = this.href.replace('s1600-h', 's1600');
  }); 
});

1
我知道这篇文章早已过时,但是我作为一个彻头彻尾的新手,一直在苦思冥想如何更改由SharePoint呈现的页面中的URL参数值。我找到的许多答案都是看起来像查理·布朗老师说话的神秘jquery一行代码......使用jquery-3.2.0,并从Bang Dao的文章中获得一些见解,我终于得出了这个艰苦卓绝的宝石。

情况 需要更改的包含参数的URL:

<a class="ms-subtleLink" onclick="GoToLinkOrDialogNewWindow(this);return false;" href="/Site/SubSite/_layouts/15/userdisp.aspx?ID=27">用户名文本</a>

问题我需要在页面上的每个位置将ID参数从27更改为33。

解决方案
$('a.ms-subtleLink').attr('href',function(){this.href = this.href.replace('?ID=27','?ID=33')});

我意识到我不需要将“?ID=”作为替换字符串的一部分。我只包括它以提高匹配字符串的特异性。

希望这能帮助有类似问题的人。


-2
var _authorLinkHref = $(this).find('a.temp_form').attr('href',$(this).find('a.temp_form').attr('href').replace('http://', '')); 

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