检查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)