这超出了我的能力,但我想要实现的是从URL获取一个部分并将其附加到href链接。
<a href="http://www.mysite.com.au/?SQ_DESIGN_NAME=print">Print this page</a>
这链接到我们正在使用的CMS中的“仅打印页面”设计
我试图在初始网址
之后附加的部分的示例 course_cd=802AA&version_number=5&
所以我最终得到了
<a href="http://www.mysite.com.au/somepage/course?course_cd=802AA&version_number=5&SQ_DESIGN_NAME=print">Print this page</a>
正如你所看到的,我想要添加的部分介于'?'之间和SQ_DESIGN_NAME =打印
我希望这是有道理的 提前谢谢
答案 0 :(得分:2)
var toAdd = 'course_cd=802AA&version_number=5&'
var aElm = $('a[href="http://www.mysite.com.au/?SQ_DESIGN_NAME=print"]')[0];
//an ID would do wonders
aElm.href = aElm.href.split('?')[0]+'somepage/course?'+toAdd+'SQ_DESIGN_NAME=print';
你错过了href属性中的引用。
答案 1 :(得分:1)
为锚点添加id属性:
<a href="http://www.mysite.com.au/?SQ_DESIGN_NAME=print" id="print">Print this page</a>
然后是jQuery:
var section = 'scourse_cd=802AA&version_number=5&';
var p = $("#print"), ph = p.attr("href");
p.attr("href",ph.replace(/(SQ_DESIGN_NAME)/i,section+'$1'));
更新以提取查询字符串参数:
var link = 'http://some.com/?param=value¶m2=value2';
var section = link.split('?')[1];
答案 2 :(得分:0)
使用此功能将新href
设置为您的链接,如果您使用的是现代jQuery版本,也可以使用.prop()
代替.attr()
。
var v = 'course_cd=802AA&version_number=5&';
$('a').attr('href', $('a').attr('href').split('?')[0] + 'somepage/course?' + v);
打印新的href
只是为了测试:
console.log('modified link is: ' + $('a').attr('href'));
答案 3 :(得分:0)
终于找到了我的问题。感谢所有给我时间的人
$(document).ready(function() {
var path = window.location.pathname;
var query = window.location.search;
$('a#print').attr('href', path + query + '&SQ_DESIGN_NAME=print');
});