jquery each?jQuery循环语句
今天给各位分享jquery each的知识,其中也会对jQuery循环语句进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
JQuery中$each 和$each的区别详解
$().each,对于这个方法,在dom处理上面用的较多。如果页面有多个input标签类型为checkbox,对于这时用$().each来处理多个checkbook。
$.each()函数不同于JQuery对象的each()方法,它是一个全局函数,不操作JQuery对象,而是以一个数组或者对象作为第1个参数,以一个回调函数作为第2个参数。回调函数拥有两个参数:第1个为对象的成员或数组的索引,第2个为对应变量或内容
jQuery中each的疑问
楼上的说法存在一点问题
each严格说来不是循环,而是遍历循环虽然和遍历都是可以找到每一个img元素但循环!=遍历
遍历的速度比循环要快得多,就像后台中的for和foreach一样
有人做过试验在同时处理30万条数据的时候 foreach比for要快0.00几秒,虽然这个数值很小,但在处理大数据的时候还是比较可观的。
其实楼主写的两种方法都是一样的,只是对用each函数遍历的来说,比较直观性,而且可以对每选择器中每一个img进行单独操作。
方法一:
$("img").each(function(){
$(this).attr("src","2.jpg");
})
方法二:
$("img").attr("src","2.jpg");
方法三:
for(var i=0;i<$("img").length;i++)
{
$("img").eq(i).attr("src","2.jpg");
}
这三种方法很明显可以看出方法一和方法二的处理速度是最快的,方法一的优势是可以对每一个img标签进行单独操作。而方法二,则是同时对所有img进行相同操作。
由于each有单独操作的优势,所以很多人习惯使用它,在楼主给的具体代码中,当然,当然方法二是比较好的,因为代码量少
还有 each(function(){})的function函数中可以带有一个参数
$("img").each(function(index){});这个index是告知函数当前已遍历到第几个函数了 index是从0开始的索引
jquery 如何遍历这样的json
方法挺多的把,可以用for循环,也可以用each方法。
先献上ajax请求:
$.ajax({
url:'/path/to/file',
type:'GET',
dataType:'json',
data:{param1:'value1'},
success:function(obj){
//遍历obj
}
})返回的内容在success的函数里面,所有的遍历操作都是在这里面操作的:
for循环:
varobj={
"status":1,
"bkmsg":"\u6210\u529f",
"bkdata":["\u5415\u5c1a\u5fd7","1387580400","\u6dfb\u52a0\u8bb0\u5f55"]
}
//console.log(obj.length);
if(obj.status==1){
for(vari=0;i<obj.bkdata.length;i++){
console.log(obj.bkdata[i]);
};
}else{
alert("数据有误~");
};
for in循环:
//forin循环
for(xinobj.bkdata){
//x表示是下标,来指定变量,指定的变量可以是数组元素,也可以是对象的属性。
console.log(obj.bkdata[x]);
}
//元素 each方法
if(obj.status==1){
$(obj.bkdata).each(function(index,item){
//index指下标
//item指代对应元素内容
//this指代每一个元素对象
//console.log(obj.bkdata[index]);
console.log(item);
//console.log($(this));
});
}else{
alert("数据有误~");
};
//jquery each方法
$.each(obj.bkdata,function(index,item){
console.log(item);
});
文章分享结束,jquery each和jQuery循环语句的答案你都知道了吗?欢迎再次光临本站哦!