刚接触jQuery时,我在获取服务器生成的url的参数时遇到了问题。我有一个这样的url:
<span class="popuptest"><a href="www.example.com/test?param1=1¶m2=2">find param</a></span>
我的jquery函数如下所示:
$(function() {
$('.popuptest a').live('click', function(event) {
$.extend({
getUrlVars: function(){
var vars = [], hash;
var hashes = this.href.slice(this.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
},
getUrlVar: function(name){
return $.getUrlVars()[name];
}
});
var second = getUrlVars()["param2"];
alert(second);
return false;
});
});
点击链接应该会显示"2",但是我什么都没有看到...对jQuery新手有什么帮助吗?提前感谢!
我在一个博客上找到了这个:http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html
发布于 2013-05-30 23:37:58
小小的改进,只解析一次url,返回array或params:
function getURLParameters(url){
var result = {};
var hashIndex = url.indexOf("#");
if (hashIndex > 0)
url = url.substr(0, hashIndex);
var searchIndex = url.indexOf("?");
if (searchIndex == -1 ) return result;
var sPageURL = url.substring(searchIndex +1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
result[sParameterName[0]] = sParameterName[1];
}
return result;
}
发布于 2014-01-22 18:43:51
这非常简单,你所要做的就是把你想要的变量名从URL放到这个函数中,然后它会返回URL变量的值
function getParameterByName(name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null;
}
发布于 2013-11-20 17:36:05
function getURLParameter(name) {
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
);
}
https://stackoverflow.com/questions/5073859
复制相似问题