打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
jquery 获取页面url,并根据url模拟单击事件

先说一下这个功能的作用,你可以根据传过来的url参数,来进行有些操作,

而你可以把这个功能写在控件中,实现隐藏或显示某些空间或触发一些事件的功能,其他的等着大家发现了

这个js网上能找到

<script src="js/jquery-1.2.6.js" type="text/javascript"></script>

接着下面是一个jquery的插件

[javascript] view plaincopy
  1. /** 
  2. * jQuery.query - Query String Modification and Creation for jQuery 
  3. * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com) 
  4. * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/). 
  5. * Date: 2009/02/08 
  6. * @author Blair Mitchelmore 
  7. * @version 2.1.2 
  8. **/  
  9. new function(settings) {  
  10.     // Various Settings  
  11.     var $separator = settings.separator || '&';  
  12.     var $spaces = settings.spaces === false ? false : true;  
  13.     var $suffix = settings.suffix === false ? '' : '[]';  
  14.     var $prefix = settings.prefix === false ? false : true;  
  15.     var $hash = $prefix ? settings.hash === true ? "#" : "?" : "";  
  16.     var $numbers = settings.numbers === false ? false : true;  
  17.     jQuery.query = new function() {  
  18.         var is = function(o, t) {  
  19.             return o != undefined && o !== null && (!!t ? o.constructor == t : true);  
  20.         };  
  21.         var parse = function(path) {  
  22.             var m, rx = //[([^[]*)/]/g, match = /^(/S+?)(/[/S*/])?$/.exec(path), base = match[1], tokens = [];  
  23.             while (m = rx.exec(match[2])) tokens.push(m[1]);  
  24.             return [base, tokens];  
  25.         };  
  26.         var set = function(target, tokens, value) {  
  27.             var o, token = tokens.shift();  
  28.             if (typeof target != 'object') target = null;  
  29.             if (token === "") {  
  30.                 if (!target) target = [];  
  31.                 if (is(target, Array)) {  
  32.                     target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));  
  33.                 } else if (is(target, Object)) {  
  34.                     var i = 0;  
  35.                     while (target[i++] != null);  
  36.                     target[--i] = tokens.length == 0 ? value : set(target[i], tokens.slice(0), value);  
  37.                 } else {  
  38.                     target = [];  
  39.                     target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));  
  40.                 }  
  41.             } else if (token && token.match(/^/s*[0-9]+/s*$/)) {  
  42.                 var index = parseInt(token, 10);  
  43.                 if (!target) target = [];  
  44.                 target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);  
  45.             } else if (token) {  
  46.                 var index = token.replace(/^/s*|/s*$/g, "");  
  47.                 if (!target) target = {};  
  48.                 if (is(target, Array)) {  
  49.                     var temp = {};  
  50.                     for (var i = 0; i < target.length; ++i) {  
  51.                         temp[i] = target[i];  
  52.                     }  
  53.                     target = temp;  
  54.                 }  
  55.                 target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);  
  56.             } else {  
  57.                 return value;  
  58.             }  
  59.             return target;  
  60.         };  
  61.         var queryObject = function(a) {  
  62.             var self = this;  
  63.             self.keys = {};  
  64.             if (a.queryObject) {  
  65.                 jQuery.each(a.get(), function(key, val) {  
  66.                     self.SET(key, val);  
  67.                 });  
  68.             } else {  
  69.                 jQuery.each(arguments, function() {  
  70.                     var q = "" + this;  
  71.                     q = q.replace(/^[?#]/, ''); // remove any leading ? || #  
  72.                     q = q.replace(/[;&]$/, ''); // remove any trailing & || ;  
  73.                     if ($spaces) q = q.replace(/[+]/g, ' '); // replace +'s with spaces  
  74.                     jQuery.each(q.split(/[&;]/), function() {  
  75.                         var key = this.split('=')[0];  
  76.                         var val = this.split('=')[1];  
  77.                         if (!key) return;  
  78.                         if ($numbers) {  
  79.                             if (/^[+-]?[0-9]+/.[0-9]*$/.test(val)) // simple float regex  
  80.                                 val = parseFloat(val);  
  81.                             else if (/^[+-]?[0-9]+$/.test(val)) // simple int regex  
  82.                                 val = parseInt(val, 10);  
  83.                         }  
  84.                         val = (!val && val !== 0) ? true : val;  
  85.                         if (val !== false && val !== true && typeof val != 'number')  
  86.                             val = decodeURIComponent(val);  
  87.                         self.SET(key, val);  
  88.                     });  
  89.                 });  
  90.             }  
  91.             return self;  
  92.         };  
  93.         queryObject.prototype = {  
  94.             queryObject: true,  
  95.             has: function(key, type) {  
  96.                 var value = this.get(key);  
  97.                 return is(value, type);  
  98.             },  
  99.             GET: function(key) {  
  100.                 if (!is(key)) return this.keys;  
  101.                 var parsed = parse(key), base = parsed[0], tokens = parsed[1];  
  102.                 var target = this.keys[base];  
  103.                 while (target != null && tokens.length != 0) {  
  104.                     target = target[tokens.shift()];  
  105.                 }  
  106.                 return typeof target == 'number' ? target : target || "";  
  107.             },  
  108.             get: function(key) {  
  109.                 var target = this.GET(key);  
  110.                 if (is(target, Object))  
  111.                     return jQuery.extend(true, {}, target);  
  112.                 else if (is(target, Array))  
  113.                     return target.slice(0);  
  114.                 return target;  
  115.             },  
  116.             SET: function(key, val) {  
  117.                 var value = !is(val) ? null : val;  
  118.                 var parsed = parse(key), base = parsed[0], tokens = parsed[1];  
  119.                 var target = this.keys[base];  
  120.                 this.keys[base] = set(target, tokens.slice(0), value);  
  121.                 return this;  
  122.             },  
  123.             set: function(key, val) {  
  124.                 return this.copy().SET(key, val);  
  125.             },  
  126.             REMOVE: function(key) {  
  127.                 return this.SET(key, null).COMPACT();  
  128.             },  
  129.             remove: function(key) {  
  130.                 return this.copy().REMOVE(key);  
  131.             },  
  132.             EMPTY: function() {  
  133.                 var self = this;  
  134.                 jQuery.each(self.keys, function(key, value) {  
  135.                     delete self.keys[key];  
  136.                 });  
  137.                 return self;  
  138.             },  
  139.             load: function(url) {  
  140.                 var hash = url.replace(/^.*?[#](.+?)(?:/?.+)?$/, "$1");  
  141.                 var search = url.replace(/^.*?[?](.+?)(?:#.+)?$/, "$1");  
  142.                 return new queryObject(url.length == search.length ? '' : search, url.length == hash.length ? '' : hash);  
  143.             },  
  144.             empty: function() {  
  145.                 return this.copy().EMPTY();  
  146.             },  
  147.             copy: function() {  
  148.                 return new queryObject(this);  
  149.             },  
  150.             COMPACT: function() {  
  151.                 function build(orig) {  
  152.                     var obj = typeof orig == "object" ? is(orig, Array) ? [] : {} : orig;  
  153.                     if (typeof orig == 'object') {  
  154.                         function add(o, key, value) {  
  155.                             if (is(o, Array))  
  156.                                 o.push(value);  
  157.                             else  
  158.                                 o[key] = value;  
  159.                         }  
  160.                         jQuery.each(orig, function(key, value) {  
  161.                             if (!is(value)) return true;  
  162.                             add(obj, key, build(value));  
  163.                         });  
  164.                     }  
  165.                     return obj;  
  166.                 }  
  167.                 this.keys = build(this.keys);  
  168.                 return this;  
  169.             },  
  170.             compact: function() {  
  171.                 return this.copy().COMPACT();  
  172.             },  
  173.             toString: function() {  
  174.                 var i = 0, queryString = [], chunks = [], self = this;  
  175.                 var addFields = function(arr, key, value) {  
  176.                     if (!is(value) || value === false) return;  
  177.                     var o = [key];  
  178.                     if (value !== true) {  
  179.                         o.push("=");  
  180.                         o.push(encodeURIComponent(value));  
  181.                     }  
  182.                     arr.push(o.join(""));  
  183.                 };  
  184.                 var build = function(obj, base) {  
  185.                     var newKey = function(key) {  
  186.                         return !base || base == "" ? [key].join("") : [base, "[", key, "]"].join("");  
  187.                     };  
  188.                     jQuery.each(obj, function(key, value) {  
  189.                         if (typeof value == 'object')  
  190.                             build(value, newKey(key));  
  191.                         else  
  192.                             addFields(chunks, newKey(key), value);  
  193.                     });  
  194.                 };  
  195.                 build(this.keys);  
  196.                 if (chunks.length > 0) queryString.push($hash);  
  197.                 queryString.push(chunks.join($separator));  
  198.                 return queryString.join("");  
  199.             }  
  200.         };  
  201.         return new queryObject(location.search, location.hash);  
  202.     };  
  203. } (jQuery.query || {}); // Pass in jQuery.query as settings object  

<script>

$(document).ready(function() {
        if ($.query.get("index") != "") {//获取url参数index
            $("#main_search ul li a").eq($.query.get("index")).click();//根据index模拟标签单击事件
        }
        //alert($("#main_search ul li a").eq(0).html());

    })

</script>

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
jquery获得option的值和对option进行操作
jQuery取得select选择的文本与值
Jquery和javascript常用技巧
jQuery-对Select的操作集合[终结篇] - 博客文库 - 博客园
jquery判断单选按钮是否选中
基于jquery的无限级联下拉框js插件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服