2011-05-16 40 views
2

我希望能夠從href中提取幾個關鍵值對(如果存在的話)。假設示例hrefs如:jQuery解析關鍵值對的href

http://server/index.pl?foo=bar&baz=123 
http://server/index.pl?foo=bar 

基本上baz可能不存在。使用jQuery我正在捕獲這個點擊函數,我想能夠找出值是什麼(如果它們存在)。

感謝

回答

2

東西我已經在過去使用的,這是一個簡單的函數是這樣的:

var $_GET = {}; 
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function() { 
function decode(s) { 
    return decodeURIComponent(s).replace(/\+/g, " "); 
} 
$_GET[decode(arguments[1])] = decode(arguments[2]); 
}); 

然後$_GET變量包含的一切。例如,$_GET.baz將返回123。如果您需要輸入帶空格的字符串,則還可以像$_GET["baz"]那樣訪問它們。

+0

這個看起來的想法,謝謝。 – Raoul 2011-05-16 14:56:54

7

可以使用JQuery URL parser實現這一目標。這裏是返回的參數對象的示例:

$.url('http://allmarkedup.com?sky=blue&grass=green').param(); // returns { 'sky':'blue', 'grass':'green' } 
1

您可以在網絡上找到許多解決方案,看看parseUri,例如。