Jquery读取查询字符串

时间:2010-12-28 18:41:53

标签: jquery

我在使用Jquery读取查询字符串时遇到问题。我想要做的是阅读查询字符串,并根据它所说的滚动到某个地方或元素。

这是我的代码

    $(document).ready(function () {
        var name = getQueryParam("id")
         { var pairs = location.search.substring(1).split('&'); for (var i = 0; i < pairs.length; i++) 
         { var params = pairs[i].split('='); if (params[0] == param) { return params[1] || ''; } } return undefined; }; })(jQuery);

        if ( name == 1){
        scrollTo(0, 800);
        }
    });

2 个答案:

答案 0 :(得分:25)

您可以使用此函数获取查询字符串值:

function getParameterByName( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

示例:

var param = getParameterByName('yourVar');

答案 1 :(得分:3)

执行此操作的代码稍微容易一些: (来源:http://jquerybyexample.blogspot.com/2012/05/how-to-get-querystring-value-using.html

function GetQueryStringParams(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) 
        {
            return sParameterName[1];
        }
    }
}