Jquery 将URL变量附加到下一页';s链接
如何设置页面以将URL变量附加到其链接中 例如,我有3个不同的页面,所有页面都链接到同一个页面,例如Jquery 将URL变量附加到下一页';s链接,jquery,append,href,Jquery,Append,Href,如何设置页面以将URL变量附加到其链接中 例如,我有3个不同的页面,所有页面都链接到同一个页面,例如 receiver.html outgoinglink.html?sender=1 outgoinglink2.html?sender=1 outgoinglink3.html?sender=1 第一页链接: receiver.html?sender=1 receiver.html?sender=2 receiver.html?sender=3 第二页链接: receiver.html?s
receiver.html
outgoinglink.html?sender=1
outgoinglink2.html?sender=1
outgoinglink3.html?sender=1
第一页链接:
receiver.html?sender=1
receiver.html?sender=2
receiver.html?sender=3
第二页链接:
receiver.html?sender=1
receiver.html?sender=2
receiver.html?sender=3
第三页链接:
receiver.html?sender=1
receiver.html?sender=2
receiver.html?sender=3
单击第一个页面时,它会将用户发送到receiver.html,其中包含许多outgoinglinks,脚本会根据上面的三个页面将变量附加到所有传出链接中
receiver.html
outgoinglink.html?sender=1
outgoinglink2.html?sender=1
outgoinglink3.html?sender=1
如果使用第二个页面,receiver.html将附加
?sender=2
在其内部的所有链接上等等..您可以使用本文中显示的功能(http://stackoverflow.com/questions/901115/get-query-string-values-in-javascript)获取您的参数
function getParameterByName( name )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
var sender = getParameterByName('sender');
然后将所需内容附加到所有href:
$('a').each(function(){
var href = $(this).attr('href');
if (href.indexOf('&') !== -1){
//if you have on & in the href you must use &
$(this).attr('href', href+'&sender='+sender);
}else{
$(this).attr('href', href+'?sender='+sender);
}
});
谢谢我还可以通过将另一个变量按名称添加到getParameter中来附加其他urlVars,因此:
var sender=getParameterByName('sender')代码>var pv=getParameterByName('pv')
并修改函数调用:$(this).attr('href',href+'&sender='+sender+'&pv='+pv)
当然可以,但您需要以这种方式修改else部分:$(this.attr('href',href+'?sender='+sender'&pv='+pv)代码>以便tue url有效!如果这回答了你的问题,请接受答案