轉載地址:http://blog.sina.com.cn/s/blog_636f2d150101ezs1.html
<!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 循環可使回調函數返回 false,其它返回值將被忽略。
$.each( [0,1,2], function(index, content){ alert( "item #" + index + " its value is: " + content );
}); jquery.each(obj,fn,arg)
該方法有三個參數:進行操作的對象obj,進行操作的函數fn,函數的參數args。
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;
}
-->