Javascript 检查href以查看jQuery中是否存在查询字符串

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,我用它来附加一个URL和一些位置信息

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";
   });