我目前正在编写一个函数来检查url param是否在url中。如果它在那里我将其删除,如果它还没有,我将添加它。基本上在按钮点击时切换参数。这是我到目前为止所拥有的。
var value1 = $(this).attr("value");
var collectionUrl = window.location.href;
if (collectionUrl.includes($(this).attr("value"))) {
console.log("removing: " + $(this).attr("value"));
collectionUrl.replace(value1,"");
}
else {
console.log("adding: " + $(this).attr("value"));
collectionUrl = collectionUrl + $(this).attr("value")+"/";
}
ajaxLoadPage(collectionUrl);
当值不存在时,将按预期添加值。当值已经存在于url中时,if语句确实有效并输出“removed:”值
但是,网址中的值未被删除。我觉得我错过了什么。
答案 0 :(得分:4)
调用"abc".replace("b","D")
不会改变" abc"但返回新字符串" aDc"所以你需要将结果存储在collectionUrl
。
所以称之为collectionUrl = collectionUrl.replace(value1,"");