【问题标题】:Replace part of an HREF attribute in a link with jQuery用 jQuery 替换链接中 HREF 属性的一部分
【发布时间】:2010-10-16 06:23:52
【问题描述】:
我是 jQuery 新手,我需要替换链接中 A HREF 属性的一部分。更具体地说,一段代码将从“s1600-h”中删除“-h”,用于灯箱应用程序:
也就是说,把s1600-h转成s1600
另外,我需要在代码之前使用$(function() 或$(document).ready(function() 吗?
【问题讨论】:
标签:
jquery
attributes
lightbox
【解决方案1】:
$(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');
});
});
【解决方案3】:
我知道这篇文章已经过时了,但是,作为一个菜鸟,我正在努力寻找一种方法来更改由 SharePoint 呈现的页面中的 URL 参数值。我找到的许多答案都是神秘的 jquery one-liners,读起来就像查理布朗的老师所说的......
使用 jquery-3.2.0 以及从 Bang Dao 的帖子中获得的一些见解,我得到了这个艰苦奋斗的 gem。
情况
包含我需要更改的参数的URL:
<a class="ms-subtleLink" onclick="GoToLinkOrDialogNewWindow(this);return false;" href="/Site/SubSite/_layouts/15/userdisp.aspx?ID=27">UserName Text</a>
问题我需要将页面上每个位置的 ID 参数从 27 更改为 33。
解决方案
$('a.ms-subtleLink').attr('href',function(){this.href = this.href.replace('?ID=27','?ID=33')});
我意识到我不需要将 '?ID=' 作为替换字符串的一部分。我只是将它包含在我的匹配字符串中以提高特异性程度。
我希望有一天这对遇到类似问题的人有所帮助。
【解决方案4】:
var _authorLinkHref = $(this).find('a.temp_form').attr('href',$(this).find('a.temp_form').attr('href').replace('http://', ''));