使用自身为变量赋值

时间:2012-08-23 08:54:51

标签: javascript jquery

这不起作用,但我不明白为什么不会这样?有人帮忙吗? :)

params = qs.split("=", 2),
id = params[1];

if(id.indexOf("?") != -1){
  id = id.split("?", 1);
}

基本上我想改变'ID'的值,如果IF语句为真,如果不是......它会跳过它并且值Id仍然是默认值。

由于

1 个答案:

答案 0 :(得分:1)

id = id.split("?", 1)的结果是一个数组(最多1项),但我认为你希望id成为一个字符串。这可以解释为什么id不是你想要的字符串。

我同意其他评论。请向我们展示您要解析的URL字符串,并告诉我们您要尝试获取哪个部分。通常,您首先查找?,然后单独查找,然后将各个key=value部分分开。

如果你有这样的网址:

http://www.example.com?foo=bar

这是一个简单的函数,可以将所有查询参数转换为对象:

function getParms(url) {
    var sections, key, pieces = url.split("?");
    var results = {};
    if (pieces.length > 1) {
        sections = pieces[1].split("&");
        for (var i = 0; i < sections.length; i++) {
            key = sections[i].split("=");
            results[key[0]] = key[1];                          
        }
    }
    return(results);
}

工作演示:http://jsfiddle.net/jfriend00/kNG3u/