jQuery Collection -


未知
未知

软件简介

This plugin generates generic collection classes, that work almost exactly as
jQuery does.
These collections include all those jQuery functions, that are used to
manipulate the collection itself.

The included built-in functions are:

add, andSelf, attr, each, end, eq, extend, filter, get, implement, include, index, init, is, map, not, pushStack, setArray, size and slice.

Every collection will have a build() function, that will create a new
collection class, that inherits from the caller. $.collection is a collection
class by itself. So other collections will inherit from it, or its subclasses.

With this plugin, you can manipulate native data types like String or
Array , with your custom methods, without actually modifying their
prototype. This is shown in some of the examples below.

If you want additional information and more details about some of the methods.
Check this explanatory text, also included in the release.

Examples

$.collection(1,2,3,4).filter([2,3]).eq(1);//--> [ 3 ]

$.number = $.collection.build(); $.number.fn.sum = function(){ var n = 0; this.each(function(){ n += this; }); return n; }; $.number(1,2,3,4).add(5).not(function(){ return this <= 2; }).sum();//yields --> 12 ( 3 + 4 + 5 )

$.array = $.collection.build(); $.array.fn.include( Array.prototype, &#039;join,push&#039; ); var $arr = $.array(&#039;I&#039;,&#039;like&#039;,&#039;xyz&#039;,&#039;jQuery&#039;).add(&#039;very&#039;).not(&#039;xyz&#039;); $arr.push( &#039;much&#039; ); $arr.join(&#039; &#039;);// yields --> &#039;I like jQuery very much&#039;

var Nodes = $.collection.build(); Nodes.fn.init = function( elems ){ elems = document.getElementsByTagName(elems); return this.setArray( $.makeArray(elems) ); }; Nodes(&#039;body&#039;).add(&#039;script&#039;).attr(&#039;className&#039;,&#039;node&#039;);//-->[ <body>, <script>, <script> ]

var MyString = $.collection.build(); MyString.implement( String.prototype, &#039;replace,toUpperCase&#039;); MyString(&#039;jQuery&#039;,&#039;Quack&#039;).replace(&#039;Q&#039;,&#039;X&#039;).toUpperCase()// --> [ &#039;JXUERY&#039;, &#039;XUACK&#039; ]

Please, make sure to upgrade to 1.0.3
The plugin is very easy to master and is relatively small , less
than 2KB packed