jQuery解析键值对的href

时间:2011-05-16 14:42:47

标签: jquery href

我希望能够从href中提取几个键值对(如果存在)。假设示例hrefs如:

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

基本上巴兹可能不存在。使用jQuery我在点击功能上捕获它,我希望能够找出值是什么(如果它们存在)。

由于

3 个答案:

答案 0 :(得分:7)

您可以使用JQuery URL parser来实现此目的。以下是返回参数对象的示例:

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

答案 1 :(得分: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"]一样访问它们。

答案 2 :(得分:1)

您可以在网上找到许多解决方案,例如,查看parseUri