Ram*_*son 0 javascript jquery jquery-ui
一些消息来源说:
var objectA = jQuery('.someClass'); // returns new instance of jQuery object.
Run Code Online (Sandbox Code Playgroud)
有人说:
var objectA = jQuery('.someClass'); // returns an array of elements with class='someClass'.
Run Code Online (Sandbox Code Playgroud)
如果上面的语句返回一个jQuery对象,那么objectA如何表现为数组?谢谢.
objectA在某种意义上它表现为一个数组,它可以被索引迭代和访问.它是一个元素的集合.someClass.因此,objectA是阵列式的
var objectA = jQuery('.someClass');
var first = objectA[0];//first element with someClass
objectA.each(function(){
//do something with each element that has someClass
});
Run Code Online (Sandbox Code Playgroud)
但是,objectA不是纯粹的js数组.因此,它无法访问Array.prototype方法.为了能够访问这些方法,您需要使用toArray()之类的
var realArray = objectA.toArray();
realArray.reverse();//now you can use Array.protype methods like reverse()
Run Code Online (Sandbox Code Playgroud)
最后,应该注意的是,当您使用时toArray,数组中的每个项目都是a DOM element而不再是jQuery对象.这可以通过将其包装成$(...)类似物来克服
$(realArray[0])
Run Code Online (Sandbox Code Playgroud)