Jquery 将URL变量附加到下一页';s链接

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

如何设置页面以将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?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有效!如果这回答了你的问题,请接受答案