Javascript 替换并向url添加3个不同的参数
我有一个脚本,当我单击指定的按钮时,它会将一个参数添加到url中-下一步单击会将其替换为一个新的参数-这非常有用 但是-现在我有三个按钮-我希望每个按钮都为url分配一个参数-并用任何其他按钮替换添加的任何参数。它还需要放在已经存在的参数后面的最后一个 因此: Prefore?param的url是动态的,看起来可能会有所不同Javascript 替换并向url添加3个不同的参数,javascript,jquery,Javascript,Jquery,我有一个脚本,当我单击指定的按钮时,它会将一个参数添加到url中-下一步单击会将其替换为一个新的参数-这非常有用 但是-现在我有三个按钮-我希望每个按钮都为url分配一个参数-并用任何其他按钮替换添加的任何参数。它还需要放在已经存在的参数后面的最后一个 因此: Prefore?param的url是动态的,看起来可能会有所不同 $('.click2').on('click', function() { console.log("Clicked"); var url = window
$('.click2').on('click', function() {
console.log("Clicked");
var url = window.location.pathname;
var url = window.location.href;
if (url.indexOf('?param=list') > -1) {
url = url.replace("?param=list", "") + '?param=grid'
} else {
url = url.replace("?param=grid", "") + '?param=list'
}
window.location.href = url;
});
我如何做到这一点,我试图修改我现有的脚本,但没有运气 我认为你的方法有一个小错误: url中的所有参数都应与& 所以现在你的url应该是这样的
/m4n?ecom-query=imac&seid=etailer-products&viewMode=3¶m=grid
现在,如果你想替换旧的婴儿车,你还需要删除旧的值。为此,您可以在下面的代码中使用正则表达式
url = url.replace(/\¶m=.*/,'') + '¶m=list'
因此,完整的代码是:
$('.click2').on('click', function() {
console.log("click2 Clicked");
var url = window.location.href;
url = url.replace(/\¶m=.*/,'') + '¶m=list';
window.location.href = url;
});
希望有帮助是的,效果很好。谢谢你的解释-这看起来很简单!
$('.click2').on('click', function() {
console.log("click2 Clicked");
var url = window.location.href;
url = url.replace(/\¶m=.*/,'') + '¶m=list';
window.location.href = url;
});