1. 程式人生 > >使用jquery獲取url以及url引數的方法

使用jquery獲取url以及url引數的方法

原文連結
我的實際應用

/*變色*/
(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);
(function(){
	var status=$.getUrlParam('status');
    if(status==1){
    	$("#a1").css({"color":"blue"});
    	$("#a2").css({"color":"black"});
    	$("#a3").css({"color":"black"});
    }else if(status==2){
    	$("#a1").css({"color":"black"});
        $("#a2").css({"color":"black"});
        $("#a3").css({"color":"blue"});
    }else if(status==3){
        $("#a1").css({"color":"black"});
        $("#a2").css({"color":"blue"});
        $("#a3").css({"color":"black"});
    }
})();

===============================================================
使用jquery獲取url以及使用jquery獲取url引數是我們經常要用到的操作

1、jquery獲取url很簡單,程式碼如下:

window.location.href;

其實只是用到了javascript的基礎的window物件,並沒有用jquery的知識。

2、jquery獲取url引數比較複雜,要用到正則表示式,所以學好javascript正則式多麼重要的事情

首先看看單純的通過javascript是如何來獲取url中的某個引數:

//獲取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為

我們要獲取reurl的值,可以這樣寫:

var xx = getUrlParam('reurl');

明白了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擴充套件了這個方法了之後我們就可以通過如下方法來獲取某個引數的值了:

var xx = $.getUrlParam('reurl');