我们说我有以下网址字符串:
www.mysite.com?this&that&theOtherThing
我知道如何将查询字符串添加到任何链接,但我不知道如何删除它。
例如,我知道我可以通过执行以下操作添加查询字符串:
//just add within the href
<a href="?this">submit</a>
or
//set the href within jquery
$('button').attr('href', currentUrl + '&that');
如何在点击时删除相同的查询?
我尝试了以下操作,但收到了NaN错误:
$('button').attr('href', currentUrl - '&that');
有没有人就如何删除查询提出建议?
答案 0 :(得分:1)
function remove_args(a, url, arg){
a.attr('href', url.replace(arg,''));
}
HTML
<a href="#" onclick="remove_args(this, 'www.mysite.com?this&that&theOtherThing', '&that')">URL</a>
尝试这样的事情。只是一个小场景
答案 1 :(得分:1)
首先,您要替换“?that”,而不是“&amp; that”。其次,你有一个没有id的标签,但你要设置一个id为'button'的元素的'href'属性,它不会出现在你的代码片段中。
你遇到NaN错误,因为你试图从字符串中减去“?that”。相反,使用string.replace(“?that”,“”) - 这将删除“%that”,但不会删除它之后的任何内容(如果有的话)。如果你的字符串中有“&amp; that”之后的内容,请获取indexOf(“?that”),然后将字符串设置为自身的子字符串,如下所示:
HTML:
<a href="www.blah.com/page.aspx?that=hello" id="linkToModify">Click me</a>
使用Javascript:
var urlString = $("#linktoModify").prop("href");
urlString = urlString.toString().substring(0, urlString.indexOf("?"));
$("#linkToModify").prop("href", urlString);
另外,请记住,您的问题有点误导。您正在尝试使用javascript编辑字符串,而不是删除查询字符串。查询字符串是只读的,无法删除,但您可以轻松修改字符串,这似乎是您要执行的操作。