jQuery.makeArray()
jQuery.makeArray( obj ) 返回: Array
描述: 轉(zhuǎn)換一個(gè)類似數(shù)組的對象成為真正的JavaScript數(shù)組。
-
version added: 1.2jQuery.makeArray( obj )
obj轉(zhuǎn)換成一個(gè)原生數(shù)組的任何對象。
一般來說,無論是在jQuery和JavaScript中很多方法都返回類似數(shù)組的對象。舉例來說,jQuery的代理函數(shù)$()返回一個(gè)jQuery對象具有許多的數(shù)組的屬性。(length, []數(shù)組訪問運(yùn)算符等),但和數(shù)組并不完全一樣,缺少一些對數(shù)組的內(nèi)置方法(如.pop()和.reverse())。
請注意,轉(zhuǎn)換后,任何有特殊功能的對象(如在我們的例子中jQuery方法)將不再存在。現(xiàn)在的對象是一個(gè)普通的數(shù)組。
Examples:
Example: Turn a collection of HTMLElements into an Array of them.
<!DOCTYPE html>
<html>
<head>
<style>
div { color:red; }
</style>
<script src="http://code.jquery.com/jquery-latest.min.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>
Demo:
Example: Turn a jQuery object into an array
var obj = $('li');
var arr = $.makeArray(obj);
Result:
(typeof obj === 'object' && obj.jquery) === true;
jQuery.isArray(arr) === true;