从URL中获取一个部分,并使用jQuery将其附加到链接

时间:2012-07-24 01:01:38

标签: jquery

这超出了我的能力,但我想要实现的是从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 =打印

我希望这是有道理的 提前谢谢

4 个答案:

答案 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';

FIDDLE

你错过了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&param2=value2';
var section = link.split('?')[1];​​​​​

http://jsfiddle.net/4eqxe/

答案 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');

});