根据jQuery文档:
toArray()返回一个包含jQuery对象集合中的所有DOM元素的数组(此方法不接受任何参数)
。此方法将此组DOM元素的成员提取到JavaScript Array:
jQuery('.some-class').toArray() -> [ dom_el_1, dom_el_2, dom_el_3, ... ]
alert($('li').toArray()); // .toArray() 返回jQuery集合中所有元素
makeArray
(这是jQuery对象的“静态方法”)使用类似数组的对象(jQuery,arguments,nodeList,...),并从中构造一个正确的JavaScript数组,因此可以在结果中调用Array的方法:
// returns a nodeList (which is array like item) but not actual array
// you can't call reverse on int
var elems = document.getElementsByTagName("div");
var arr = jQuery.makeArray(elems);
arr.reverse(); // use an Array method on list of dom elements
$(arr).appendTo(document.body);
总而言之,toArray
将jQuery元素设置为javascript Array
,makeArray
将任何类似对象的数组转换为javascript Array
。