.toArray()与jQuery.makeArray()的区别

时间:2022-09-11 10:40:12

根据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);

总而言之,toArrayjQuery元素设置为javascript ArraymakeArray将任何类似对象的数组转换为javascript Array