gpt4 book ai didi

javascript - 如果存在查询字符串值,则删除参数并重置 url

转载 作者:行者123 更新时间:2023-11-30 17:43:53 24 4
gpt4 key购买 nike

我的网址看起来像这样

/myurl?code1=abcde&code2=fghijk&code3=lmnop&code4=qrstu&code5=vwxyz(最多 5 个代码变量)

我有一个 onclick 事件,我在其中获取代码变量,例如在上面的示例中它返回“fghijk”,但我不知道参数,例如 code2。所以我想做两件事:

1) 从我的 url 中查找并删除参数和值(如果我的 onclick 变量返回“fghijk”,在上面的示例中我的 url 变为/myurl?code1=abcde&code3=lmnop&code4=qrstu&code5 =vwxyz)

2) 在此之后我想重置参数编号,以便我的代码参数从 1 开始按顺序排列,因此在上面的数字 1 执行后我的 url 应该变为/myurl?code1=abcde&code2=lmnop&code3 =qrstu&code4=vwxyz

$('.myelement').on('click', function() {
var url = $('.myelement a').attr('href');
var codevar = $('.myelement span').text();
if(url +'contains('+codevar+')') {
// strip the param and variable from the url here

// now reset the url so code params are in number sequence
}

});

最佳答案

你可以这样做:

$('.myelement').on('click', function() {
var url = $('.myelement a').attr('href');
var codevar = $('.myelement span').text();
if(url.match(codevar)) {
var queryString = url.substring(url.indexOf("?") + 1);
var params = queryString.split("&");
var codeIndex = 1;
var newQuery = "";
for (var i = 0; i < params.length; i++) {
if (!params[i].match(codevar)) {
newQuery += params[i].replace(/code[0-9]/, "code" + codeIndex);
codeIndex++;
if (i < params.length - 1) {
newQuery += "&";
}
}
}
url = url.replace(queryString, newQuery).replace(/&$/, ""); //new query string with the sequential parameters
}

});

希望这对您有所帮助。

问候,

马塞洛

关于javascript - 如果存在查询字符串值,则删除参数并重置 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20501997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com