最主要就是獲取當前URL的詳細信息,就可以進行判斷了,這就需要用到JQUERY獲取URL的函數。這里與大家分享一下,沒用過這種方法的朋友可以嘗試一下。
一、window.location
| 屬性 | 描述 |
|---|---|
| hash | 設置或獲取 href 屬性中在井號“#”后面的分段。 |
| host | 設置或獲取 location 或 URL 的 hostname 和 port 號碼。 |
| hostname | 設置或獲取 location 或 URL 的主機名稱部分。 |
| href | 設置或獲取整個 URL 為字符串。 |
| pathname | 設置或獲取對象指定的文件名或路徑。 |
| port | 設置或獲取與 URL 關聯的端口號碼。 |
| protocol | 設置或獲取 URL 的協議部分。 |
| search | 設置或獲取 href 屬性中跟在問號后面的部分。 |
二、案例
比如url為: http://www.xxx.loc/admin/write-post.php?cid=79
(function($){ 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; //返回參數值 } })(jQuery);
調用: $.getUrlParam('cid');
三、JQuery遍歷修改url的請求參數
功能描述:
根據客戶選擇下拉框,同步中部分超鏈的請求傳遞參數與下拉框中的值相等。代碼中用到JQuery的cookie插件:
頁面部分:
假設頁面有一個用於標識狀態的select
<select id="type"> <option value="sms">短信</option> <option value="mms">彩信</option> ...... </select>
並且有一些需要同步的鏈接,為了方便JQuery查找遍歷這些鏈接,所以為他們統一命名為nav。
同時將訪問鏈接的個性化部分記錄在class中方便JQuery讀取生成新的url。如下:
<a name="nav" href="#" class="action1.do">urlName1</a> <a name="nav" href="#" class="action2.do">urlName2</a> ...... <a name="nav" href="#" class="action9.do">urlName9</a>
JS腳本部分:
$(document).ready(function(){ //在客戶第一次使用沒有cookie記錄時,設置默認值 if($.cookie('_type')== null) $.cookie('_type', 'sms'); updateUrl(); //將cookie的值與select的默認選擇項同步,並添加onChange事件 $("#type").val($.cookie('_type')).change(function(){ $.cookie('_type', $(this).val()); //將選擇的值存入cookie中 updateUrl(); //更新url }); }); ////遍歷所有name為nav的連接 var updateUrl= function(){ $("a[name='nav']").each(function(){ this.href = '/' + $(this).attr("class") + '.do?type'=' + $.cookie('_type'); }); }
