我有这个 URL 替换查询:
window.history.pushState(null, null, window.location.search.replace(/\bcolor=[^&]*/, '$&,Red'));
它像它应该的那样工作,但我怎样才能改变第一件事并用变量替换 color
做动态地像这样:
var value = 'color';
window.history.pushState(null, null, window.location.search.replace(/\b var_in_here =[^&]*/, '$&,' + filter_value.attr('data-value') + ''));
更新
由于 Jonas 的第一个回答,我在这里尝试过,但它不起作用:
var re = new RegExp('\b' + name + '=[^&]*');
window.history.pushState(null, null, window.location.search.replace(re, '$&,' + filter_value.attr('data-value') + ''));
最佳答案
您可以动态构建正则表达式:
new Regex("\\b" + name + "=[^&]*")
需要两个 \
才能正常工作。
关于JavaScript:pushState 替换搜索字符串中的静态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53677901/