手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:action

jQuery SubClass 带来的新的变化

jquery在1.5的时候多了一个subclass,代码大约如下:

JavaScript代码
  1. subclass: function(){  
  2.     function jQuerySubclass( selector, context ) {  
  3.         return new jQuerySubclass.fn.init( selector, context );  
  4.     }  
  5.     jQuerySubclass.superclass = this;  
  6.     jQuerySubclass.fn = jQuerySubclass.prototype = this();  
  7.     jQuerySubclass.fn.constructor = jQuerySubclass;  
  8.     jQuerySubclass.subclass = this.subclass;  
  9.     jQuerySubclass.fn.init = function init( selector, context ) {  
  10.         if (context && context instanceof jQuery && !(context instanceof jQuerySubclass)){  
  11.             context = jQuerySubclass(context);  
  12.         }  
  13.         return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass );  
  14.     };  
  15.     jQuerySubclass.fn.init.prototype = jQuerySubclass.fn;  
  16.     var rootjQuerySubclass = jQuerySubclass(document);  
  17.     return jQuerySubclass;  
  18. },  
很多看到这个代码的人都认为这个功能是用来优化插件的,因为现在jQuery的插件越来越多,有类似功能,类似名称的插件也越来越多了,所以,同名插件带来的困扰也就更多了。

未来怎么办,jQuery鼓励用户开发插件,但插件总不能老是给用户带来麻烦吧?所以这个subclass就成了新的插件机制所必备的方法,利用subclass来创建一个新的实例(即所谓的继承,当然也能覆写父类[jQuery]的方法 )。

只是这样的频繁继承,肯定会造成效率降低吧。怎么样既能继承,又不降低效率,这恐怕就是未来jQuery团队要考虑的事情了?但是否靠什么behavior这种行为的方式来加载呢?现在都在讲究这种行为触发性的插件。jQuery是不是未来也会采用这种方式呢。

Tags: jquery, plugin, subclass

jQuery插件---获取URL参数

平时我们取得location的search的时候,往往都是要用location.search,然后根据取回的结果集再处理

1、先判断第一位是否是“?”,如果是则从?开始往后面处理

2、写程序以&开始分隔,当然得先用unescape,或者用那个urldecode(具体的名字不记得了)处理一下,把&之类的处理一下

3、以=分隔,这样才能可以取得一一对应的值。

现在方便了。jQuery有这样的插件了。。。。

原文来自:http://www.cssrain.cn/article.asp?id=1204

内容如下:

例如 当前你的URL是:
http://www.cssrain.cn/index.php?test=1&kk=2

如果想获取test,则可以引入插件后,
用如下方法获取:
var test = $.query.get('test');

如果参数有多个相同的名称 ,则可以这样:
var arr = $.query.get('testy');
输出:  [ 值1 ,  值2,  值3...]

如果要获取多个相同名称中的某一个,可以这样:
var arrayElement = $.query.get('testy[1]');

此插件不仅能获取参数,也能设置参数。

设置一个参数:
var newUrl = $.query.set("section", 5).toString();
输出  : "?section=5"

设置两个参数:
var newUrl = $.query.set("section", 5).set("action", "do").toString();
输出 :  "?action=do&section=5"


删除一个参数:
var oldQueryAgain = $.query.REMOVE("type");

清空所有参数:
var emptyQuery = $.query.empty();

复制所有参数:
var stillTheSame = $.query.copy();


插件地址:
http://plugins.jquery.com/project/query-object

Tags: javascript, jquery, search, location, get