jquery makearray()使用

makearray(),转换一个类似数组的对象成为真正的JavaScript数组。
首先看看jquery中array的定义
makeArray: function( arr, results ) {
        var ret = results || [];

        if ( arr != null ) {
            if ( isArraylike( Object(arr) ) ) {
                jQuery.merge( ret,
                    typeof arr === "string" ?
                    [ arr ] : arr
                );
            } else {
                push.call( ret, arr );
            }
        }
        return ret;
    }

 在官方API举例如下:

将一个 HTMLElements 集合转换成对应的数组。将一个DIV集合转成成了数组

<html>
<head>
    <style>
        div { color:red; }
    </style>
    <script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.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);
    console.log(arr);
</script>

</body>
</html>

 将对象转换成数组,这个转换好粗暴

将一个 jQuery 对象转换成一个数组。

1
2
    var obj = $('li');
    var arr = $.makeArray(obj);
Result:

1
2
(typeof obj === 'object' && obj.jquery) === true;
jQuery.isArray(arr) === true;

 

posted @ 2016-07-07 16:28  慕容小凡  阅读(451)  评论(0编辑  收藏  举报