检查href是否存在jQuery中的查询字符串

我目前有一些jQuery,我用来附加一些包含一些位置信息的URL。

jQuery('a').attr('href', function() { return this.href + "&location=/123/abc"; }); 

我的问题是大多数链接都有? 其中使用上述&ok。 有一些选择不。 我想检查url,看看是否有? 如果有我想使用“&location = / 123 / abc”,如果没有? 我需要使用“?location = / 123 / abc”

使用if / else语句我不是最好的。 任何帮助,将不胜感激。

 if (thereIsA?InTheUrl) { return this.href + "&location=/123/abc"; } else { return this.href + "?location=/123/abc"; } 

这样的东西,只是不确定哦写它。

  jQuery('a').attr('href', function() { return (this.href.indexOf("?") >= 0) ? this.href + "&location=/123/abc" : this.href + "?location=/123/abc"; }); 

迈克尔。

使用JavaScript的indexOf()函数。

像这样:

 if(this.href.indexOf('?')>=0){//PLACE MAGIC HERE} 

它是如何工作的:

如果匹配字符串找到它,则返回它的位置。
如果找不到,则返回-1,因此>=0 。 位置0是字符串的第一个字符。

详情如下:
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/indexOf

 var str = window.location.href; if (str.indexOf('?' >= 0) { return str + "&location=/123/abc"; //there's a ? } else { return str + "?location=/123/abc"; //no ? } 
 if (this.href.indexOf("?") >= 0)