我目前有一些jQuery用于附加带有一些位置信息的URL。
jQuery('a').attr('href', function() {
return this.href + "&location=/123/abc";
});
我的问题是大多数链接都有?其中使用上述&好。有一些选择不。我想检查网址,看看是否有?如果有我想使用“& location = / 123 / abc”,如果没有?我需要使用“?location = / 123 / abc”
if / else语句不是最好的。任何帮助将不胜感激。
if (thereIsA?InTheUrl) {
return this.href + "&location=/123/abc";
} else {
return this.href + "?location=/123/abc";
}
类似的东西,只是不确定哦写它。
答案 0 :(得分:7)
jQuery('a').attr('href', function() {
return (this.href.indexOf("?") >= 0) ? this.href + "&location=/123/abc" : this.href + "?location=/123/abc";
});
答案 1 :(得分:1)
迈克尔。
使用JavaScript的indexOf()函数。
像这样:
if(this.href.indexOf('?')>=0){//PLACE MAGIC HERE}
它是如何工作的:
如果找到匹配字符串,则返回它的位置。
如果找不到,则返回-1,因此>=0
。位置0是字符串的第一个字符。
详情:
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/indexOf
答案 2 :(得分:1)
var str = window.location.href;
if (str.indexOf('?' >= 0) {
return str + "&location=/123/abc"; //there's a ?
} else {
return str + "?location=/123/abc"; //no ?
}
答案 3 :(得分:0)
if (this.href.indexOf("?") >= 0)