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

时间:2011-06-13 22:54:31

标签: javascript jquery string

我目前有一些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";

}

类似的东西,只是不确定哦写它。

4 个答案:

答案 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)