2011-05-16 41 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,例如。