jquery中的toArray和makeArray之间的区别 [英] Difference between toArray and makeArray in jquery

查看:125
本文介绍了jquery中的toArray和makeArray之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将DOM元素转换为对象的集合。但是我不知道toArray()和makeArray()之间的主要区别是什么?

HTML

 < div id =firstdiv> 
< div> foo1< / div>
< div> foo2< / div>
< div> foo3< / div>
< / div>

我使用以下代码将节点转换为数组:



JQUERY

  console.log($(#firstdiv>格)的toArray())。 
console.log($。makeArray($(#firstdiv)。html()));

我不太明白他们之间的区别,我已经搜索了这个问题,但不是发现任何明确的解释。



提前感谢

解决方案

根据jQuery文档: / p>

toArray 是一个jQuery对象(它围绕一组DOM元素包装)的方法。此方法将此组DOM元素的成员提取到javascript Array:

  jQuery('。some-class')toArray ) - > [dom_el_1,dom_el_2,dom_el_3,...] 

makeArray (这是jQuery对象的静态方法)需要数组样对象(jQuery,arguments,nodeList,...),并从中构造一个正确的JavaScript数组,因此可以在结果中调用Array的方法: p>

  //返回一个nodeList(这是数组像项目),但不是实际的数组
//你不能调用反向on int
var elems = document.getElementsByTagName(div);
var arr = jQuery.makeArray(elems);
arr.reverse(); //在dom元素列表中使用Array方法
$(arr).appendTo(document.body);

总而言之, toArray transforms jQuery元素集到javascript Array makeArray 转换任何像对象的数组到javascript Array


I'm trying to convert the DOM element as an collections of object. But I don't know what the main difference between toArray() and makeArray()

HTML

<div id="firstdiv">
   <div>foo1</div>
   <div>foo2</div>
   <div>foo3</div>
</div>

I used the following code to convert the nodes to an array:

JQUERY

console.log($("#firstdiv > div").toArray());
console.log($.makeArray($("#firstdiv").html()));

I can't quite understand the difference between them, and I've searched for this question but not found any clear explanation.

Thanks in advance.

解决方案

According to jQuery documentation:

toArray is a method on jQuery Object (which is wrapper around a set of DOM elements). This method extracts members of this set of DOM elements to javascript Array:

jQuery('.some-class').toArray() -> [ dom_el_1, dom_el_2, dom_el_3, ... ] 

makeArray (which is a "static method" on jQuery object) takes array-like object (jQuery, arguments, nodeList, ...) and constructs a proper javascript Array from it, so you can call methods of Array on the result:

// 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);

In summary, toArray transforms jQuery element set to javascript Array, makeArray transforms any array like object to javascript Array.

这篇关于jquery中的toArray和makeArray之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆