本当に必要なのは、jQuery URLパーサープラグインです。このプラグインを使用すると、(現在のURLの)特定のURLパラメータの値を取得すると、次のようになります。
$.url().param('foo');
パラメータ名をキーとして、パラメータ値を値として持つオブジェクトが必要な場合はparam()
、次のように、引数なしで呼び出すだけです。
$.url().param();
このライブラリは、現在のライブラリだけでなく、他のURLでも機能します。
$.url('http://allmarkedup.com?sky=blue&grass=green').param();
$('#myElement').url().param(); // works with elements that have 'src', 'href' or 'action' attributes
これはURL解析ライブラリ全体なので、指定したポート、パス、プロトコルなど、URLから他の情報を取得することもできます。
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'
他の機能もあります。ドキュメントや例については、ホームページをご覧ください。
代わりにすることを、この特定の目的のために、独自のURIパーサーを書くのちょっとで動作するほとんどの場合、実際のURIパーサーを使用しています。回答によっては、他の回答からのコードがの'null'
代わりに返さnull
れる場合があります。空のパラメーター(?foo=&bar=x
)では機能せず、すべてのパラメーターを一度に解析して返すことはできません。パラメーターのURLを繰り返しクエリする場合は、作業を繰り返します。
実際のURIパーサーを使用してください。独自のURIパーサーを作成しないでください。
jQueryを嫌う人のために、純粋なJSであるバージョンのプラグインがあります。