Was Sie wirklich wollen, ist das jQuery URL Parser Plugin . Mit diesem Plugin sieht das Abrufen des Werts eines bestimmten URL-Parameters (für die aktuelle URL) folgendermaßen aus:
$.url().param('foo');
Wenn Sie ein Objekt mit Parameternamen als Schlüssel und Parameterwerten als Werte möchten, rufen Sie einfach param()
ohne Argument auf:
$.url().param();
Diese Bibliothek funktioniert auch mit anderen URLs, nicht nur mit der aktuellen:
$.url('http://allmarkedup.com?sky=blue&grass=green').param();
$('#myElement').url().param(); // works with elements that have 'src', 'href' or 'action' attributes
Da es sich um eine gesamte URL-Analysebibliothek handelt, können Sie auch andere Informationen über die URL abrufen, z. B. den angegebenen Port oder den Pfad, das Protokoll usw.:
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'
Es hat auch andere Funktionen. Weitere Dokumente und Beispiele finden Sie auf der Homepage .
Statt dem eigenen URI - Parser für diesen Zweck zu schreiben , die irgendwie in funktioniert meisten Fällen einen tatsächlichen URI - Parser verwenden. Abhängig von der Antwort kann Code aus anderen Antworten zurückgegeben 'null'
werden null
, funktioniert nicht mit leeren Parametern ( ?foo=&bar=x
), kann nicht alle Parameter gleichzeitig analysieren und zurückgeben, wiederholt die Arbeit, wenn Sie die URL wiederholt nach Parametern abfragen usw.
Verwenden Sie einen tatsächlichen URI-Parser, erfinden Sie keinen eigenen.
Für diejenigen, die jQuery ablehnen, gibt es eine Version des Plugins, die reines JS ist .