本文實例講述了jQuery使用$.each遍歷json數組的簡單實作方法。分享給大家參考,具體如下:
<!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数组方法</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() 方法,此方法可用於例遍任何物件
回呼函數有兩個參數:
第一個為物件的成員或陣列的索引
例遍數組,同時使用元素索引和內容
$.each( [0,1,2], function(index, content){ alert( "item #" + index + " its value is: " + content ); });
第二個為對應變數或內容
如果需要退出 each 迴圈可使回呼函數傳回 false,其它回傳值將被忽略。
jquery.each(obj,fn,arg)
此方法有三個參數:進行操作的物件obj,進行操作的函數fn,函數的參數args。
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; }
更多關於jQuery相關內容有興趣的讀者可查看本站專題:《jQuery操作json資料技巧摘要》、《jQuery切換特效與技巧總結》、《 jQuery拖曳特效與技巧總結》、《jQuery擴充技巧總結》、《jQuery常見經典特效總結》、《jQuery動畫與特效用法摘要》、《jquery選擇器用法總結》及《jQuery常用插件及用法摘要》
希望本文所述對大家jQuery程式設計有所幫助。