jQuery.makeArray()

jQuery.makeArray( obj ) 官网原E文: Array

描述: 转换一个类似数组的对象成为真正的JavaScript数组。

  • version added: 1.2jQuery.makeArray( obj )

    obj转换成一个原生数组的任何对象。

一般来说,无论是在jQuery和JavaScript中很多方法都返回类似数组的对象。举例来说,jQuery的代理函数$()返回一个jQuery对象具有许多的数组的属性。(length, []数组访问运算符等),但和数组并不完全一样,缺少一些对数组的内置方法(如.pop().reverse())。

请注意,转换后,任何有特殊功能的对象(如在我们的例子中jQuery方法)将不再存在。现在的对象是一个普通的数组。

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;
    
jQuery 1.6 API 中文版Clove整理、修订