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;
时间: 2025-01-17 20:18:28

jquery makearray()使用的相关文章

使用jQuery.makeArray() 将多种类型转换成JS原生Array

jQuery.makeArray(obj)这个函数从名字上来看很容易猜出它的用途:应该是用来将传入的对象转换成一个原生array 再看看官网上对它的解释:Convert an array-like object into a true JavaScript array.(将一个类似数组对象转换为JS原生的数组) 那么怎么样的object才可以称为"array-like object"呢?这个问题不急着回答,相信看完文章你会明白的,先看看下面的实验 将HTMLCollection转换成原

jQuery.makeArray() 函数详解

jQuery.makeArray()函数用于将一个类数组对象转换为真正的数组对象. 所谓"类数组对象"就是一个常规的Object对象,但它和数组对象非常相似:具备length属性,并以0.1.2.3……等数字作为属性名. 不过它毕竟不是数组,没有从数组的原型对象上继承下来的内置方法(例如:push(). sort()等). jQuery.makeArray( object ) 注意事项: 一个类数组对象,它至少应该具备length属性,哪怕其值为 0,它可以没有"元素&quo

jQuery静态方法inArray,grep,merge,makeArray方法使用和源码分析

inArray方法 确定第一个参数在数组中的位置,从0开始计数(如果没有找到则返回 -1 ). 示例: var arr = [ 4, "Pete", 8, "John" ]; jQuery.inArray("John", arr); //3 jQuery.inArray(4, arr); //0 jQuery.inArray("David", arr); //-1 jQuery.inArray("Pete"

jQuery源代码学习之六——jQuery数据缓存Data

一.jQuery数据缓存基本原理 jQuery数据缓存就两个全局Data对象,data_user以及data_priv; 这两个对象分别用于缓存用户自定义数据和内部数据: 以data_user为例,所有用户自定义数据都被保存在这个对象的cache属性下,cache在此姑且称之为自定义数据缓存: 自定义数据缓存和DOM元素/javascript对象通过id建立关联,id的查找通过DOM元素/javascript元素下挂载的expando属性获得 话不多说,直接上代码.相关思路在代码注释中都有讲解

谜一样的jquery之$选择器

jquery是一个强大的js类库,提供了很多便利的操作方法并兼容不同的浏览器,一旦使用便欲罢不能,根本停不下来,今天我们就来解读一下这个神秘的jquery源代码. 前几天思考再三,自己尝试着封装了一下jquery的$选择器,然而并不完善,我只对id,class,和标签选择器进行了封装,发现其实如果实现浅层的封装那么我们很容易就能够实现,但是一旦我们尝试着选择器的层次嵌套就会出来很多大大小小的坑! 下面我们先来看一下我个人封装的jquery的选择器部分. window.$ = function (

jQuery源码学习(2):选择器初窥

选择器初窥 代码架构: jQuery选择器可以依照传入数据的类型分为五大类: 传入字符串:$("div"), $("#id"), $(".div1"),$(".div p.title") 传入html代码:$("<div></div>"), $("<div>1</div><div>2</div>") 传入对象:$(d

jQuery源码

/*! * jQuery JavaScript Library v1.8.3 * http://jquery.com/ * * Includes Sizzle.js * http://sizzlejs.com/ * * Copyright 2012 jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license * * Date: Tue Nov 13 20

jquery源码解析:jQuery对元素属性的操作3

这一课,我们将讲解val方法,以及对value属性的兼容性处理,jQuery中通过valHooks对象来处理. 首先,我们先来看下val方法的使用: $("#input1").val()      //获取input元素的value属性值 $("#input1").val("hello")      //设置input元素的value属性值为hello. 然后我们来看一下val方法的源码: jQuery.fn.extend({ ...... va

jQuery碎语(4) 实用函数

6.实用函数 ● 修剪字符串 $('#id').val($.trim($('#someid').val())) ● 遍历集合 可能这样写: var anArray = ['one','two']; for(var n = 0; n < anArray.length; n++){ } 还有可能这样写: var anObject = {one: 1, two: 2}; for(var p in anObject){ } 但有了$.each函数后,就可以这样写了: var anArray = ['on