使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作
1、jquery获取url很简单,代码如下
代码如下:
window.location.href;
其实只是用到了javascript的基础的window对象,并没有用jquery的知识
2、jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情
首先看看单纯的通过javascript是如何来获取url中的某个参数
代码如下:
function getUrlParam(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r!=null) return unescape(r[2]); return null; //返回参数值
}
通过这个函数传递url中的参数名就可以获取到参数的值,比如url为
http://www.xxx.loc/admin/write-post.php?cid=79
我们要获取cid的值,可以这样写:
代码如下:
getUrlParam('cid');
明白了javascript获取url参数的方法,我们可以通过这个方法为jquery扩展一个方法来通过jquery获取url参数,下面的代
码为jquery扩展了一个getUrlParam()方法
代码如下:
(function($){
$.getUrlParam
= function(name)
{
var reg
= new RegExp("(^|&)"+
name +"=([^&]*)(&|$)");
var r
= window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
})(jQuery);
为jquery扩展了这个方法了之后我们就可以通过如下方法来获取某个参数的值了
代码如下:
$.getUrlParam('cid');
//-----------根据URL地址 以改变class属性--------------------------------
$(function() {
(function($){
$.getUrlParam
= function(name)
{
var reg
= new RegExp("(^|&)"+
name +"=([^&]*)(&|$)");
var r
= window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
})(jQuery);
var s = $.getUrlParam('tid');
$('#nav_'+s).addClass("cur");
})