我在使用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);
}
});
答案 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];
}
}
}