Javascript 用新URL覆盖现有URL参数值
我希望此代码替换现有的URL参数“aspid”,但它所做的是在现有的URL参数上添加另一个id。有人能帮忙吗Javascript 用新URL覆盖现有URL参数值,javascript,jquery,Javascript,Jquery,我希望此代码替换现有的URL参数“aspid”,但它所做的是在现有的URL参数上添加另一个id。有人能帮忙吗 $(document).ready(function() { function GetUrlValue(VarSearch) { var SearchString = window.location.search.substring(1); var VariableArray = SearchString.split('&'); for (var i
$(document).ready(function() {
function GetUrlValue(VarSearch) {
var SearchString = window.location.search.substring(1);
var VariableArray = SearchString.split('&');
for (var i = 0; i < VariableArray.length; i++) {
var KeyValuePair = VariableArray[i].split('=');
if (KeyValuePair[0] == VarSearch) {
return KeyValuePair[1];
}
}
}
var asid = GetUrlValue('aspid');
var campaign = GetUrlValue('utm_campaign');
if (asid != undefined) {
$("a").attr('href', function(i, h) {
return h + (h.indexOf('?') != -1 ? "&aspid=" + asid : "?aspid=" + asid);
});
}
});
$(文档).ready(函数(){
函数GetUrlValue(VarSearch){
var SearchString=window.location.search.substring(1);
var VariableArray=SearchString.split('&');
对于(变量i=0;i
您需要在每个a
上调用此函数:
/**
* http://stackoverflow.com/a/10997390/11236
*/
function updateURLParameter(url, param, paramVal){
var newAdditionalURL = "";
var tempArray = url.split("?");
var baseURL = tempArray[0];
var additionalURL = tempArray[1];
var temp = "";
if (additionalURL) {
tempArray = additionalURL.split("&");
for (var i=0; i<tempArray.length; i++){
if(tempArray[i].split('=')[0] != param){
newAdditionalURL += temp + tempArray[i];
temp = "&";
}
}
}
var rows_txt = temp + "" + param + "=" + paramVal;
return baseURL + "?" + newAdditionalURL + rows_txt;
}
完整的代码如下所示:
...
$("a").attr('href', function(i, h) {
if(h){
return updateURLParameter(h, 'aspid', asid);
}
});
...
...
$("a").attr('href', function(i, h) {
if(h){
return updateURLParameter(h, 'aspid', asid);
}
});
...