JavaScript kind of redefines what an Array means because an array is an object with a .length property and methods like .slice() and .join().
jQuery defines a jQuery object as “Array like”, because it has a length property but it doesn’t have certain array methods like join().
If I were to define the jQuery object as an object, and forget about mentioning anything to do with an array, how would I define it? What properties does it have besides length?
I guess all the methods are what you see in the documentation, far exceeding the number of methods that are in an array.
A jQuery object is array-like which means that it contains zero or more indexes (properties which names are positive integers starting with zero). Besides those indexes, a jQuery object contains these properties:
lengthcontextselectorAnd also around 140 inherited methods (which are defined on the
jQuery.prototypeobject – you can doconsole.dir(jQuery.prototype)to get a full list… ).Note that jQuery objects do not contain (or inherit) the Array methods (slice, substr, …). If you want to execute those methods on your jQuery object, use
call/apply.For example, if you have 3 TEXTAREA elements on the page and you do this:
then this
jjQuery object will contain these properties:0– reference to the first TEXTAREA element1– reference to the second TEXTAREA element2– reference to the third TEXTAREA elementlength– which is3context– reference to thedocumentobjectselector– which is'textarea'