Ce que vous voulez vraiment, c'est le Plugin jQuery URL Parser . Avec ce plugin, obtenir la valeur d'un paramètre URL spécifique (pour l'URL actuelle) ressemble à ceci :
$.url().param('foo');
Si vous voulez un objet avec des noms de paramètres comme clés et des valeurs de paramètres comme valeurs, il vous suffit d'appeler param()
sans argument, comme ceci :
$.url().param();
Cette bibliothèque fonctionne également avec d'autres urls, pas seulement l'url actuelle :
$.url('http://allmarkedup.com?sky=blue&grass=green').param();
$('#myElement').url().param(); // works with elements that have 'src', 'href' or 'action' attributes
Comme il s'agit d'une bibliothèque d'analyse d'URL complète, vous pouvez également obtenir d'autres informations à partir de l'URL, comme le port spécifié, ou le chemin, le protocole, etc :
var url = $.url('http://allmarkedup.com/folder/dir/index.html?item=value');
url.attr('protocol'); // returns 'http'
url.attr('path'); // returns '/folder/dir/index.html'
Il a également d'autres caractéristiques, consultez son site web. page d'accueil pour plus de documents et d'exemples.
Au lieu d'écrire votre propre analyseur d'URI dans ce but spécifique que un peu comme travaille dans le plus Dans certains cas, utilisez un analyseur d'URI. Selon la réponse, le code des autres réponses peut retourner 'null'
au lieu de null
ne fonctionne pas avec des paramètres vides ( ?foo=&bar=x
), ne peut pas analyser et renvoyer tous les paramètres à la fois, répète le travail si vous demandez plusieurs fois des paramètres à l'URL, etc.
Utilisez un analyseur URI réel, n'inventez pas le vôtre.
Pour ceux qui ne veulent pas de jQuery, il y a une version du plugin qui est purement JS .