<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        jQuery源碼分析之jQuery.fn.each與jQuery.each用法_jquery

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 21:33:24
        文檔

        jQuery源碼分析之jQuery.fn.each與jQuery.each用法_jquery

        jQuery源碼分析之jQuery.fn.each與jQuery.each用法_jquery:本文實例講述了jQuery源碼分析之jQuery.fn.each與jQuery.each用法。分享給大家供大家參考。具體分析如下: 先上例子,下面代碼的作用是:對每個選中的div元素,都給它們添加一個red類 代碼如下:$('div').each(function(index, elem
        推薦度:
        導讀jQuery源碼分析之jQuery.fn.each與jQuery.each用法_jquery:本文實例講述了jQuery源碼分析之jQuery.fn.each與jQuery.each用法。分享給大家供大家參考。具體分析如下: 先上例子,下面代碼的作用是:對每個選中的div元素,都給它們添加一個red類 代碼如下:$('div').each(function(index, elem

        本文實例講述了jQuery源碼分析之jQuery.fn.each與jQuery.each用法。分享給大家供大家參考。具體分析如下:

        先上例子,下面代碼的作用是:對每個選中的div元素,都給它們添加一個red類
        代碼如下:$('div').each(function(index, elem){

        $(this).addClass('red');
        }
        });

        上面用的的.each,即jQuery.fn.each,其內(nèi)部是通過jQuery.each實現(xiàn)的
        代碼如下:jQuery.fn.each
        先貼一下類官方API說明,非常簡單,只有兩點需要注意
        上文例子里的$(this).addClass('red'),其中,this指的是當前操作的dom元素
        each中傳入的方法,可以返回任意值,當返回的值為false時,跳出當前循環(huán)操作
        代碼如下:/**

        * @description 對jQuery對象中,匹配的的每個dom元素執(zhí)行一個方法

        * @param {Number} index 當前處理元素在集合中的位置

        * @param {DOMElement} Element 當前處理的dom元素

        */
        .
        .each( function(index, Element) )
        下面舉兩個簡單的例子

        例子一:

        給頁面所有的div元素添加red類
        代碼如下:$('div').each(function(index, elem){

        $(this).addClass('red');
        }
        });
        例子二

        給頁面前5個div元素添加red類
        代碼如下:$('div').each(function(index, elem){

        if(index>=5) return false; // 跳出循環(huán)
        $(this).addClass('red');
        }
        });
        如上,用法挺簡單,不贅述,詳細可查看 http://api.jquery.com/each/

        源碼內(nèi)部是通過jQuery.each實現(xiàn)的,下面就講下jQuery.each的源碼,講完jQuery.each的源碼,jQuery.fn.each的源碼就很簡單了

        jQuery.each:

        同樣是先上一個簡單的例子
        代碼如下:$.each([52, 97], function(index, value) {
        alert(index + ': ' + value + ':' + this);
        }
        });
        輸出內(nèi)容如下:

        0: 52-52
        1
        1: 97-97

        類官方API說明

        同樣是有兩個注意點

        上面例子中的this,是集合中的元素,即下面的 valueOfElement
        在callback中返回false,可以跳出循環(huán)
        代碼如下:/**

        * @description 對集合(數(shù)組或?qū)ο螅┲械拿總€元素,執(zhí)行某個操作

        * @param {Number|String} indexInArray 元素在集合中對應的位置(如集合為數(shù)組,則為數(shù)字;如集合為對象,則為鍵值)

        * @param {AnyValue} valueOfElement 集合中的元素

        */
        j
        jQuery.each( collection, callback(indexInArray, valueOfElement) )

        例子一
        代碼如下:$.each( ['one,'two','three', 'four'], function(index, value){

        if(index >= 2) return false;

        alert( "Index:" + index + ", value: " + value );
        }
        });
        例子二

        從官網(wǎng)直接copy來的例子,湊合著看
        代碼如下:$.each( { name: "John", lang: "JS" }, function(k, v){

        alert( "Key: " + k + ", Value: " + v );
        }
        });
        源碼:
        代碼如下:// args is for internal usage only
        e
        each: function( obj, callback, args ) {

        var value,

        i = 0,

        length = obj.length,

        isArray = isArraylike( obj ); // obj是不是類似數(shù)組的對象,比如 {'0':'hello', '1':'world', 'length':2},其實就是為jQuery對象服務啦

        if ( args ) { // args,其實沒發(fā)現(xiàn)這個參數(shù)有什么實際作用~~直接跳過看else里面的內(nèi)容即可,除了callback傳的參數(shù)不同外無其他區(qū)別
        if ( isArray ) {
        for ( ; i < length; i++ ) {
        value = callback.apply( obj[ i ], args );
        if ( value === false ) {
        break;
        }
        }
        } else {
        for ( i in obj ) {
        value = callback.apply( obj[ i ], args );
        if ( value === false ) {
        break;
        }
        }
        }
        // A special, fast, case for the most common use of each
        } else {
        if ( isArray ) { // 處理數(shù)組
        for ( ; i < length; i++ ) {
        value = callback.call( obj[ i ], i, obj[ i ] );
        if ( value === false ) {
        break;
        }
        }
        } else { // 處理對象
        for ( i in obj ) {
        value = callback.call( obj[ i ], i, obj[ i ] ); // value 為callback的返回值
        if ( value === false ) { // 注意這里,當value===false的時候,直接跳出循環(huán)了
        break;
        }
        }
        }
        }
        return obj;
        }
        },


        遲到的jQuery.fn.each源碼:

        的確很簡單,只要理解了jQuery.each應該就沒問題了,沒什么好講的~
        代碼如下:each: function( callback, args ) {

        return jQuery.each( this, callback, args );
        }
        },

        結(jié)束語

        與jQuery.extend、jQuery.fn.extend一樣,雖然 jQuery.each、jQuery.fn.each代碼很簡單,但也扮演了相當重要的作用,jQuery里大量用到了這兩個方法,舉例:
        代碼如下:jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {

        class2type[ "[object " + name + "]" ] = name.toLowerCase();
        }
        });
        所以,好好掌握each!

        希望本文所述對大家的jQuery程序設(shè)計有所幫助。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        jQuery源碼分析之jQuery.fn.each與jQuery.each用法_jquery

        jQuery源碼分析之jQuery.fn.each與jQuery.each用法_jquery:本文實例講述了jQuery源碼分析之jQuery.fn.each與jQuery.each用法。分享給大家供大家參考。具體分析如下: 先上例子,下面代碼的作用是:對每個選中的div元素,都給它們添加一個red類 代碼如下:$('div').each(function(index, elem
        推薦度:
        標簽: each jQuery jquer
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 好大好深好猛好爽视频免费| 四虎成年永久免费网站| 免费二级毛片免费完整视频| 天堂亚洲国产中文在线| 久久久高清免费视频| 亚洲国产成人精品激情| 日韩亚洲变态另类中文| 日韩精品一区二区亚洲AV观看 | 男人的好免费观看在线视频| 免费人成视频x8x8入口| 成人国产网站v片免费观看| 亚洲一级特黄大片在线观看| 中文字幕在线观看亚洲日韩| 日本免费电影一区| 男人和女人高潮免费网站| 亚洲精品自在在线观看| 日本免费人成视频在线观看| 伊在人亚洲香蕉精品区麻豆| 波多野结衣亚洲一级| 日韩高清在线免费观看| av午夜福利一片免费看久久| 亚洲2022国产成人精品无码区| 在线观看www日本免费网站| 亚洲人成网亚洲欧洲无码| 全亚洲最新黄色特级网站 | 亚洲AV日韩AV天堂久久| 美女网站免费福利视频| 美女扒开尿口给男人爽免费视频 | 日本免费人成黄页网观看视频| 成年免费a级毛片| 亚洲午夜免费视频| 日本一道一区二区免费看| a级片免费在线播放| 亚洲人成7777| 久久亚洲AV永久无码精品| 亚洲精品在线免费看| 免费人人潮人人爽一区二区| 亚洲免费视频在线观看| 免费国产一级特黄久久| 久久久免费精品re6| 青青草国产免费国产是公开|