jquery получить строку запроса из URL [дубликат]
Возможные Дубликаты:
как я могу получить значения строки запроса?
у меня есть следующий URL-адрес:
http://www.mysite.co.uk/?location=mylocation1
что мне нужно, чтобы получить значение location
из URL в переменную, а затем использовать его в jQuery код:
var thequerystring = "getthequerystringhere"
$('html,body').animate({scrollTop: $("div#" + thequerystring).offset().top}, 500);
кто-нибудь знает, как получить это значение с помощью JavaScript или jQuery?
5 ответов:
от: http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html
это то, что вам нужно :)
следующий код вернет объект JavaScript, содержащий параметры URL:
// 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, " ")); }
вы можете использовать метод для анимации:
ie:
var thequerystring = getParameterByName("location"); $('html,body').animate({scrollTop: $("div#" + thequerystring).offset().top}, 500);