根据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 intvar elems = document.getElementsByTagName("p"); 
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

以上就是jQuery中.toArray()与.makeArray()两者的区别详解的详细内容,更多请关注Work网其它相关文章!

09-19 08:44