Javascript 检查href以查看jQuery中是否存在查询字符串
我现在有一个jQuery,我用它来附加一个URL和一些位置信息Javascript 检查href以查看jQuery中是否存在查询字符串,javascript,jquery,string,Javascript,Jquery,String,我现在有一个jQuery,我用它来附加一个URL和一些位置信息 jQuery('a').attr('href', function() { return this.href + "&location=/123/abc"; }); 我的问题是大多数链接都有一个?其中使用了上述&ok。有少数人不这样做。我正在查看url以查看是否存在?。如果有,我想使用“&location=/123/abc”,如果没有?我需要使用“?位置=/123/abc” 我对if/
jQuery('a').attr('href', function() {
return this.href + "&location=/123/abc";
});
我的问题是大多数链接都有一个?其中使用了上述&ok。有少数人不这样做。我正在查看url以查看是否存在?。如果有,我想使用“&location=/123/abc”,如果没有?我需要使用“?位置=/123/abc”
我对if/else语句不是最好的。任何帮助都将不胜感激
if (thereIsA?InTheUrl) {
return this.href + "&location=/123/abc";
} else {
return this.href + "?location=/123/abc";
}
像这样的东西,只是不确定是否要写。迈克尔
使用JavaScript的indexOf()函数
像这样:
if(this.href.indexOf('?')>=0){//PLACE MAGIC HERE}
其工作原理如下:如果找到匹配字符串,则返回该字符串的位置。
如果找不到它,则返回-1,因此
=0
。位置0是字符串的第一个字符。
此处详细信息:
这很有效。与上面接受的答案相同,只是细节较少。我选择了上面的答案,以便其他学习者能够理解这个过程。谢谢你,这很有效。与上面接受的答案相同,只是细节较少。我选择了上面的答案,以便其他学习者能够理解这个过程。谢谢你。
if (this.href.indexOf("?") >= 0)
var str = window.location.href;
if (str.indexOf('?' >= 0) {
return str + "&location=/123/abc"; //there's a ?
} else {
return str + "?location=/123/abc"; //no ?
}
jQuery('a').attr('href', function() {
return (this.href.indexOf("?") >= 0) ? this.href + "&location=/123/abc" : this.href + "?location=/123/abc";
});