使用javascript和特定条件在href url上添加参数
我的使用javascript和特定条件在href url上添加参数,javascript,jquery,Javascript,Jquery,我的javascript函数有一些问题。我想在点击hrefurl时添加一些参数。例如,单击时,我想在hrefurl中添加?param=1。但在添加一些参数之前,我想检查href中的url是否为,并且该参数不包含?param=1。选中后,url为且不包含?param=1,我想在该url中添加?param=1。为什么我要在添加参数之前先检查?这是因为我不想在任何url中添加参数,只想在我想要的特定url中添加参数 这就是我到目前为止所做的: window.addEventListener("clic
javascript
函数有一些问题。我想在点击href
url时添加一些参数。例如,单击时,我想在href
url中添加?param=1
。但在添加一些参数之前,我想检查href
中的url是否为,并且该参数不包含?param=1
。选中后,url为且不包含?param=1
,我想在该url中添加?param=1
。为什么我要在添加参数之前先检查?这是因为我不想在任何url中添加参数,只想在我想要的特定url中添加参数
这就是我到目前为止所做的:
window.addEventListener("click", function(e) {
var href = e.target.getAttribute("href");
if(href) {
location.href = href + "?param=1";
e.preventDefault();
}
});
但是,如果
href
是,我不知道如何检查并设置具体条件。请任何知道怎么做的人都能帮我。感谢您的光临。了解indexOf以检查查询字符串中是否存在值
var str=“你好,世界!”
document.write(str.indexOf(“Hello”)+“
”)
文件。写入(str.indexOf(“世界”)+“
”)
document.write(str.indexOf(“world”)
检查查询字符串,查看它是否具有param1
值,如果没有,则追加它
var url = new URL("http://www.example.com?param=1"); //window.location.href
if (url.searchParams.get('param'))
{
console.log("Param exists");
}
else
{
console.log("Param does not exist")
url + "?param=1"
console.log(url);
}
window.addEventListener(“单击”),函数(e){
e、 预防默认值();
var href=e.target.getAttribute(“href”);
console.log(href);
如果(href){
if(href.indexOf(“param=1”)=-1){
href=href+“?参数=1”;
console.log(href);
//location.href=href;
}否则{
href=href+“?参数=2”;
console.log(href);
//location.href=href;
}
//
}
});代码>
$(文档).ready(函数(){
var href=“www.example.com?param=1”;
如果(href.indexOf(“www.example.com”)>=0&&href.indexOf(“param=1”)>=0){
警报(“Url已给出单词”);
//location.href=href+“?param=1”;
//e.预防违约();
}
})
检查URL
检查它:
window.addEventListener(“单击”),函数(e){
const href=e.target.getAttribute(“href”);
如果(href){
console.log(href.includes('?param=1'));
//基于这个条件,你可以做任何你想做的事情
e、 预防默认值();
}
});代码>
您可以使用此逻辑检查查询字符串中是否存在值:请给我一个示例?url.split(“?”[1]
这只是签入索引1,但是如果参数不在索引1中,该如何操作?@Antonio您现在可以试试这个@Antonio window.location.href返回当前页面窗口的href(URL)。location.hostname返回web主机窗口的域名。location.pathname返回当前页面窗口的路径和文件名。location.protocol返回使用的web协议(http:或https:)window.location.assign加载新的document@Antonio您可以使用?
symbolvar domain=url.split(“?”)[0]简单地拆分字符串代码>它可以工作。但是如果我删除e.preventDefault()
为什么不使用?param
?它将阻止默认行为单击href.indexOf(“example.com”)
您可以添加单词的任何部分以对照提供的字符串进行检查。href.includes('example.com')-这将返回true或false