【发布时间】:2023-03-10 22:13:01
【问题描述】:
朋友们,我需要你们的帮助。我需要从url获取参数
ex: www.test.com/?s=1¶m=2¶m=3
并放入页面上的所有href,减去参数= s。那么它看起来像这样:
ex: href='www.test.com/?param1¶m=2'
这已经发生了,问题是我不想传递给 hrefs: s 参数
完整代码:
$(document).ready(function() {
function querystringToDict(querystring){
if (querystring.length === 0) {
return {};
}
let queryDict = {}
querystring.split("&").forEach(function(item) {
queryDict[item.split("=")[0]] = item.split("=")[1]
});
return queryDict;
}
var queryDict = querystringToDict(location.search.substr(1));
var queryHref, queryFinal = {};
var lctSearch = location.search;
$('html a').each(function() {
// if the href contains www.test.com insert params
if ($(this).prop('href').includes('www.test.com')){
if(lctSearch != ''){
param = $(this).attr('href').split('?')[1] === undefined ? '' :
$(this).attr('href').split('?')[1];
queryHref = querystringToDict(param);
queryFinal = Object.assign({}, queryHref, queryDict);
paramFinal = Object.keys(queryFinal).map(key => key + '=' + queryFinal[key]).join('&');
$(this).attr('href',$(this).attr('href').split('?'[0].concat('?',paramFinal));
}
}
});
});
【问题讨论】:
标签: javascript jquery parameters