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

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

posted @ 2017-06-14 13:45  Lu_Lu陌鹿  阅读(230)  评论(0编辑  收藏  举报