中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Jquery中的each方法怎么用

發布時間:2021-01-05 10:15:04 來源:億速云 閱讀:175 作者:小新 欄目:web開發

小編給大家分享一下Jquery中的each方法怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

jQuery.each( object, callback,arg)

each()函數是基本上所有的框架都提供了的一個工具類函數,通過它,你可以遍歷對象、數組的屬性值并進行處理。

jQuery和jQuery對象都實現了該方法,對于jQuery對象,只是把each方法簡單的進行了委托:把jQuery對象作為第一個參數傳遞給jQuery的each方法。換句話說:jQuery提供的each方法是對參數一提供的對象的中所有的子元素逐一進行方法調用。而jQuery對象提供的each方法則是對jQuery內部的子元素進行逐個調用。

   jQuery.prototype.each = function(fn, args) {
        return jQuery.each(this, fn, args);
    }

讓我們看一下jQuery提供的each方法的具體實現,

jQuery.each(obj,fn,arg)

該方法有三個參數:進行操作的對象obj,進行操作的函數fn,函數的參數args。

讓我們根據ojb對象進行討論:

1、obj對象是數組

each方法會對數組中子元素的逐個進行fn函數調用,直至調用某個子元素返回的結果為false為止,也就是說,我們可以在提供的fn函數進行處理,使之滿足一定條件后就退出each方法調用。當each方法提供了arg參數時,fn函數調用傳入的參數為arg,否則為:子元素索引,子元素本身

2、obj 對象不是數組

該方法同1的最大區別是:fn方法會被逐次不考慮返回值的進行進行。換句話說,obj對象的所有屬性都會被fn方法進行調用,即使fn函數返回false。調用傳入的參數同1類似。

jQuery.each = function(obj, fn, args) {
        if (args) {
            if (obj.length == undefined) {
                for (var i in obj)
                    fn.apply(obj, args);
            } else {
                for (var i = 0, ol = obj.length; i < ol; i++) {
                    if (fn.apply(obj, args) === false)
                        break;
                }
 
            }
        } else {
            if (obj.length == undefined) {
                for (var i in obj)
                    fn.call(obj, i, obj);
            } else {
                for (var i = 0, ol = obj.length, val = obj[0];
i < ol && fn.call(val, i, val) !== false;
val = obj[++i]) { }
}
        }
        return obj;
}

需要特別注意的是each方法中fn的具體調用方法并不是采用簡單的fn(i,val)或fn(args),而是采用了fn.call(val,i,val)或fn.apply(obj.args)的形式,這意味著,在你自己的fn的實現中,可以直接采用this指針引用數組或是對象的子元素。這種方式是絕大多數jQuery所采用的一種實現方式。

var arr = ["one", "two", "three", "four", "five"];
var obj = { one: 1, two: 2, three: 3, four: 4, five: 5 };
 
    jQuery.each(arr, function() {
        alert(this);
    });
    /*
    one,two,three,four,five
    */
   
    jQuery.each(obj, function(i, val) {
        alert(i+":"+val);
    });
    /*
    one:1 two:2 three:3 four:4  five:5
    */
   
    jQuery.each(arr, function(i, val) {
        alert(i);
    });
    /*
    0,1,2,3,4
    */
   
    jQuery.each(arr, function(i, val) {
        alert(arr[i]);
    });
    /*
    one tow three four five
    */

看完了這篇文章,相信你對“Jquery中的each方法怎么用”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正定县| 仙桃市| 修武县| 延边| 常宁市| 铜鼓县| 瑞昌市| 朝阳市| 绿春县| 临清市| 庄河市| 南雄市| 顺平县| 东山县| 华坪县| 台中县| 阿拉善右旗| 竹溪县| 石渠县| 墨玉县| 文安县| 阿拉善盟| 邓州市| 永春县| 奉新县| 瑞安市| 塔河县| 宁德市| 穆棱市| 阿尔山市| 无极县| 潼关县| 潍坊市| 大同市| 黄平县| 抚顺市| 清涧县| 图们市| 新河县| 宜城市| 台中市|