jquery从URL获取querystring

可能重复:
我怎样才能得到查询string值?

我有以下url:

http://www.mysite.co.uk/?location=mylocation1 

我需要的是从URL中获取location的值到一个variables,然后在jQuery代码中使用它:

 var thequerystring = "getthequerystringhere" $('html,body').animate({scrollTop: $("div#" + thequerystring).offset().top}, 500); 

有谁知道如何使用JavaScript或jQuery获取该值?

来自: http : //jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html

这是你需要的:)

以下代码将返回一个包含URL参数的JavaScript对象:

 // Read a page's GET URL variables and return them as an associative array. function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; } 

例如,如果您有URL:

 http://www.example.com/?me=myValue&name2=SomeOtherValue 

此代码将返回:

 { "me" : "myValue", "name2" : "SomeOtherValue" } 

你可以做:

 var me = getUrlVars()["me"]; var name2 = getUrlVars()["name2"]; 
 location.search 

这就是你所需要的

https://developer.mozilla.org/en-US/docs/DOM/window.location

一个简单的方法来做到这一点,与一些jQuery和直JS,只需查看您的控制台在Chrome或Firefox查看输出…

  var queries = {}; $.each(document.location.search.substr(1).split('&'),function(c,q){ var i = q.split('='); queries[i[0].toString()] = i[1].toString(); }); console.log(queries); 

看看这个stackoverflow答案 。

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

您可以使用该方法来animation:

即:

 var thequerystring = getParameterByName("location"); $('html,body').animate({scrollTop: $("div#" + thequerystring).offset().top}, 500); 

我们这样做…

 String.prototype.getValueByKey = function (k) { var p = new RegExp('\\b' + k + '\\b', 'gi'); return this.search(p) != -1 ? decodeURIComponent(this.substr(this.search(p) + k.length + 1).substr(0, this.substr(this.search(p) + k.length + 1).search(/(&|;|$)/))) : ""; };