给定一个这样的网址:http://mydomain.com/mypage.asp?Animal=Elephant
VBScript 提供了一种使用 Request 对象获取 QueryString 中的各个项目的好方法:
dim animal = Request.QueryString["Animal"]
我见过一些相当复杂的 JavaScript 可以做类似的事情,但我希望 jQuery 库有一个函数可以做到这一点,而不必重新发明一些轮子。我在我拥有的 jQuery 书中找不到它,在 jQuery 网站上也找不到它。
我是不是无缘无故地向树狂吠?有原生 jQuery 函数可以做到这一点吗?
请注意,我的问题是要求是否存在原生 JQUERY 函数来获取与我上面提供的 VBScript 相当的 QueryString。问题的单行解决方案。如:
var animal = $.getParameterByName("Animal");
我的问题只有 2 个可能的答案。他们是:
- 不,没有所描述的 native 单行 jQuery 函数,或者
- 是的,正如所描述的,有一个原生的单行 jQuery 函数,这里是......
我知道如何获取整个 QueryString 以及如何使用 Javascript 解析它 - 我不知道是否有 jQuery 方法或函数可以满足我的要求。
最佳答案
“不,没有所描述的 native 单行 jQuery 函数”
但是,改变这一点很容易。
(function($){
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
$.getParameterByName = getParameterByName;
})(jQuery);
将其包含在 jquery 之后的 head 中,您现在可以简单地执行以下操作:
var animal = $.getParameterByName("Animal");
按名称获取参数的方法取自:How can I get query string values in JavaScript?
关于javascript - 是否有原生 jQuery 方法来提取单个 QueryString 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19437324/