(1)
一般看到的each用法,如下
$("ul li").each(
function( ){
函数体。。。
}
)
(2)但更常用的,是用each来遍历对象或者数组。
$.each(data,function),里头有2个参数,前面是data,后者是要给数组或者对象每一项做的事情。
function(key,value){ },这里的名称随便命名,但第一项指向key,第二项指向value不便。
<body>
<ul></ul>
<script type="text/javascript" src="jquery-1.5.1.js"> </script>
<script type="text/javascript">
$( function( ){
var str="";
var a={"wangjun:":60,"liming:":80}; // wangjun后面有个冒号,这样出来的形式比较好看
var f="<li class='title'>姓名:分数</li>";
$.each(a,function(key,value){
str+="<li>"+key+value+"</li>"; // 遍历拼接出多个<li>,然后append到一个<ul>中
})
$("ul").append(str);
})
</script>
</body>
将json对象改成数组:var a=[60,80],则key将变成0和1,value是60和80。
注意:如果function( )中只给了一个参数的位置,那么一定是key。。。而不是value。。
(3)
<script type="text/javascript" src="jquery-1.5.1.js"> </script>
<script type="text/javascript">
var a=[ // 稍微高级的json写法
{ name:"王五",
sex:"男人",
age:"18"},
{ name:"李明",
sex:"女人",
age:"20" } ]
$( function( ){
var str="";
var f="<li class='title'>姓名:分数</li>";
$.each(a,function(key,value){
// 这个key虽然没用到,但必须写上,否则只给value参数,还是指向key,因为如果只有一个参数,则默认就是key
str+="<li>"+value["name"]+"</li>";
str+="<li>"+value["sex"]+"</li>";
str+="<li>"+value["age"]+"</li>"+"<hr>";
})
$("ul").append(str);
})
</script>