概述 jQuery.makeArray( obj )
返回值:Array
描述:转换一个类似数组的对象成为真正的JavaScript数组。
一般来说,无论是在jQuery和JavaScript中很多方法都返回类似数组的对象。举例来说,jQuery的代理函数$()
返回一个jQuery对象具有许多的数组的属性。(length, []
数组访问运算符等),但和数组并不完全一样,缺少一些对数组的内置方法(如.pop()
和.reverse()
)。
请注意,转换后,任何有特殊功能的对象(如在我们的示例中jQuery方法)将不再存在。现在的对象是一个普通的数组。
示例
将一个 HTMLElements 集合转换成对应的数组。
- <!DOCTYPE html>
- <html>
- <head>
- <style>
- div { color:red; }
- </style>
- <script src="http://code.jquery.com/jquery-latest.js"></script>
- </head>
- <body>
- <div>First</div>
- <div>Second</div>
- <div>Third</div>
-
- <div>Fourth</div>
- <script>
- var elems = document.getElementsByTagName("div"); // returns a nodeList
- var arr = jQuery.makeArray(elems);
- arr.reverse(); // use an Array method on list of dom elements
- $(arr).appendTo(document.body);
- </script>
-
- </body>
- </html>
将一个 jQuery 对象转换成一个数组。
- var obj = $('li');
- var arr = $.makeArray(obj);
- (typeof obj === 'object' && obj.jquery) === true;
- jQuery.isArray(arr) === true;