Javascript 删除url的搜索部分

Javascript 删除url的搜索部分,javascript,Javascript,我正在获取锚对象的url,如文档。链接[0]。href。我想从这个字符串中删除搜索部分(“在“?”符号后面的部分”)。我知道我可以用正则表达式来做这个。还有其他有效的方法吗?一种方法是在“?”字符上拆分它 var url = document.links[0].href; var base = url.split("?")[0]; 应该会更快,但如果由于某种原因url中有两个?,当然可能会遇到麻烦。您可以使用以下内容查找搜索部分: document.location.search 然后从do

我正在获取锚对象的url,如
文档。链接[0]。href
。我想从这个字符串中删除搜索部分(“在“?”符号后面的部分”)。我知道我可以用正则表达式来做这个。还有其他有效的方法吗?

一种方法是在“?”字符上拆分它

var url = document.links[0].href;
var base = url.split("?")[0];

应该会更快,但如果由于某种原因url中有两个?,当然可能会遇到麻烦。

您可以使用以下内容查找搜索部分:

document.location.search
然后从document.location.href中替换它,或者根据您的需要使用document.location.host和document.location.pathname

var a = //my string
a = a.substr(0, a.indexOf('?'));

只需将子字符串设置到第一个
;如果由于某种原因您有2个
,第二个可能在查询路径中,并且无论如何都会被删除…

这不起作用。因为我从锚对象(一个字符串)获取url。不是从文件中。这将起作用。但我非常关心表现。我将不得不在600毫秒之前处理数百个链接。它已经需要大约550毫秒。所以这样做将是一个麻烦。@Selvaraj M a-你对此进行了基准测试吗?我猜想您会发现大部分时间都花在点击DOM获取字符串上,而不是字符串本身的处理上。