从URL抓取一个节,并使用jQuery将其附加到一个链接

从URL抓取一个节,并使用jQuery将其附加到一个链接,jquery,Jquery,这有点超出了我的能力,但我试图实现的是从URL中获取一个节并将其附加到href链接 <a href="http://www.mysite.com.au/?SQ_DESIGN_NAME=print">Print this page</a> 所以我最终得到了 <a href="http://www.mysite.com.au/somepage/course?course_cd=802AA&version_number=5&SQ_DESIGN_NAM

这有点超出了我的能力,但我试图实现的是从URL中获取一个节并将其附加到href链接

 <a href="http://www.mysite.com.au/?SQ_DESIGN_NAME=print">Print this page</a>
所以我最终得到了

 <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之间

我希望这是有道理的 先谢谢你

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


您的href属性中缺少一个引号。

向您的锚添加一个id属性:

<a href="http://www.mysite.com.au/?SQ_DESIGN_NAME=print" id="print">Print this page</a> 
更新:要提取查询字符串参数:

var link = 'http://some.com/?param=value&param2=value2';
var section = link.split('?')[1];​​​​​

将id属性添加到锚点:

<a href="http://www.mysite.com.au/?SQ_DESIGN_NAME=print" id="print">Print this page</a> 
更新:要提取查询字符串参数:

var link = 'http://some.com/?param=value&param2=value2';
var section = link.split('?')[1];​​​​​

使用此选项将新的
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'));​

使用此选项将新的
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'));​

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

 $(document).ready(function() {

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

});

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

 $(document).ready(function() {

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

});

谢谢,但我提供的URL只是一个例子。简而言之,抓取URL并将其插入到?在SQ_DESIGN_NAME=print之前。我唯一的猜测是一些正则表达式,并使用“split/”?你不需要一个正则表达式,只需要拆分url并插入你想要的任何内容,但是你的示例是两个不同的url,而不仅仅是querystring?要获取当前URL,只需使用window.location.href…adeneo,听起来很棒!你有时间给我看或者帮我更新提琴脚本吗?谢谢,但我提供的URL只是一个例子。简而言之,抓取URL并将其插入到?在SQ_DESIGN_NAME=print之前。我唯一的猜测是一些正则表达式,并使用“split/”?你不需要一个正则表达式,只需要拆分url并插入你想要的任何内容,但是你的示例是两个不同的url,而不仅仅是querystring?要获取当前URL,只需使用window.location.href…adeneo,听起来很棒!你有时间给我看或者帮我更新提琴脚本吗?谢谢Patric,我怎么能以字符串的形式返回url的部分,因为它永远不会是一样的。我提供的URL只是一个例子,是许多银行Patric的一个例子,我如何才能将URL的部分作为字符串返回,因为它永远不会是相同的。我提供的URL只是一个例子,是许多银行之一的Oscar这是我正在尝试转换为可变课程的一位\u cd=802AA&version\u number=5&-“somepage/course?”+“someURL”我把你需要的东西放在一个变量中只是为了澄清:-)好的,我希望这会有意义,如果我不清楚,我道歉。如果URL现在是course\u cd=900BB&version\u number=2&,该怎么办。URL基于具有唯一ID的不同课程等。您只需用新文本替换变量“v”值即可。在这种情况下,变量v='cd=900BB&version_number=2&';就这些,奥斯卡,有几百个,因此,如果有办法不硬编码var='cd=900BB&version\u number=2&',而是将此变量存储到字符串中?感谢奥斯卡,这就是我试图转换为变量的位course\u cd=802AA&version\u number=5&-'somepage/course?'+'someURL'我将您需要的东西放在变量中只是为了澄清:-)好,我希望这会有意义,如果我不清楚,我道歉。如果URL现在是course\u cd=900BB&version\u number=2&,该怎么办。URL基于具有唯一ID的不同课程等。您只需用新文本替换变量“v”值即可。在这种情况下,变量v='cd=900BB&version_number=2&';这就是全部。Oscar有数百个变量,所以如果有办法不硬编码var='cd=900BB&version\u number=2&',而是将这个变量存储到字符串中?