jQuery使用$.each遍歷json數(shù)組的簡單實(shí)現(xiàn)方法

字號:


    這篇文章主要介紹了jQuery使用$.each遍歷json數(shù)組的簡單實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了each方法遍歷json數(shù)組的實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    本文實(shí)例講述了jQuery使用$.each遍歷json數(shù)組的簡單實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
    <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en"
    "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
     <meta http-equiv="content-type" content="text/html; charset=gb2312" />
     <title>jquery $.each遍歷json數(shù)組方法</title>
     <script type="text/javascript" src="jquery.js"></script>
    </head>
    <body>
     <script>
     var arr = [{ name: "john", lang: "js" },{ name: "nailwl", lang: "jquery" },{ name: "吳磊", lang: "ext" }]; 
     $.each( arr, function(index, content)
     { 
      alert( "the man's no. is: " + index + ",and " + content.name + " is learning " + content.lang ); 
     });
     </script>
    </body>
    </html>
     </body>
    </html>
    jquery 對象的 $().each() 方法,此方法可用于例遍任何對象
    回調(diào)函數(shù)擁有兩個(gè)參數(shù):
    第一個(gè)為對象的成員或數(shù)組的索引
    例遍數(shù)組,同時(shí)使用元素索引和內(nèi)容
    $.each( [0,1,2], function(index, content){
     alert( "item #" + index + " its value is: " + content );
    });
    第二個(gè)為對應(yīng)變量或內(nèi)容
    如果需要退出 each 循環(huán)可使回調(diào)函數(shù)返回 false,其它返回值將被忽略。
    jquery.each(obj,fn,arg)
    該方法有三個(gè)參數(shù):進(jìn)行操作的對象obj,進(jìn)行操作的函數(shù)fn,函數(shù)的參數(shù)args。
    1.obj對象是數(shù)組
    each方法會對數(shù)組中子元素的逐個(gè)進(jìn)行fn函數(shù)調(diào)用,直至調(diào)用某個(gè)子元素返回的結(jié)果為false為止,也就是說,我們可以在提供的fn函數(shù)進(jìn)行處理,使 之滿足一定條件后就退出each方法調(diào)用。當(dāng)each方法提供了arg參數(shù)時(shí),fn函數(shù)調(diào)用傳入的參數(shù)為arg,否則為:子元素索引,子元素本身
    2.obj 對象不是數(shù)組
    該方法同1的最大區(qū)別是:fn方法會被逐次不考慮返回值的進(jìn)行進(jìn)行。換句話說,obj對象的所有屬性都會被fn方法進(jìn)行調(diào)用,即使fn函數(shù)返回false。調(diào)用傳入的參數(shù)同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;
    } 
    希望本文所述對大家jQuery程序設(shè)計(jì)有所幫助。