0

这有点超出了我的能力,但我想要实现的是从 URL 中获取一个部分并将其附加到 href 链接。

 <a href="http://www.mysite.com.au/?SQ_DESIGN_NAME=print">Print this page</a>

这链接到我们正在使用的 CMS 中的“仅打印页面”设计

我尝试在初始 URL 之后附加的部分示例

 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=print

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

4

4 回答 4

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 属性中缺少引号。

于 2012-07-24T01:06:05.753 回答
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/

于 2012-07-24T01:08:27.680 回答
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'));​
于 2012-07-24T01:15:39.540 回答
0

终于想通了我的问题。感谢所有给我时间的人

 $(document).ready(function() {

  var path = window.location.pathname;
  var query = window.location.search;
  $('a#print').attr('href', path + query + '&SQ_DESIGN_NAME=print');

});
于 2012-07-24T05:18:21.493 回答