jquery each遍历对象?jquery foreach
大家好,关于jquery each遍历对象很多朋友都还不太明白,今天小编就来为大家分享关于jquery foreach的知识,希望对各位有所帮助!
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文档操作都有哪些函数
jQuery中为我们提供了很多有用的方法和属性,自己总结的一些常用的函数,方法。个人认为在在线排盘开发中会比较常用的,仅供大家学习和参考。
事件处理
ready(fn)
代码:
$(document).ready(function(){
// Your code here...
});
作用:它可以极大地提高web应用程序的响应速度。通过使用这个方法,可以在DOM载入就绪能够读取并操纵时立即调用你所绑定的函数,而99.99%的JavaScript函数都需要在那一刻执行。
bind(type,[data],fn)
代码:
$("p").bind("click", function(){
alert($(this).text());
});
作用:为每一个匹配元素的特定事件(像click)绑定一个事件处理器函数。起到事件监听的作用。
toggle(fn,fn)代码:
$("td").toggle(
function(){
$(this).addClass("selected");
},
function(){
$(this).removeClass("selected");
}
);
作用:每次点击时切换要调用的函数。如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一元素时,则触发指定的第二个函数。挺有趣的一个函数,在动态实现某些功能的时候可能会用到。
(像click(),focus(),keydown()这样的事件这里就不提了,那些都是开发中比较常用到的。)
外观效果
addClass(class)和removeClass(class)
代码:
$(".stripe tr").mouseover(function(){
$(this).addClass("over");}).mouseout(function(){
$(this).removeClass("over");})
});
也可以写成:
$(".stripe tr").mouseover(function(){$(this).addClass("over")});
$(".stripe tr").mouseout(function(){$(this).removeClass("over")});
作用:为指定的元素添加或移除样式,从而实现动态的样式效果,上面的实例中实现鼠标移动双色表格的代码。
css(name,value)
代码:$("p").css("color","red");
作用:很简单,就是在匹配的元素中,设置一个样式属性的值。这个个人感觉和上面的addClass(class)有点类似。
slide(),hide(),fadeIn(), fadeout(), slideUp(),slideDown()
代码:
$("#btnShow").bind("click",function(event){$("#divMsg").show()});
$("#btnHide").bind("click",function(evnet){$("#divMsg").hide()});
作用:jQuery中提供的比较常用的几个动态效果的函数。还可以添加参数:show(speed,[callback])以优雅的动画显示所有匹配的元素,并在显示完成后可选地触发一个回调函数。
animate(params[,duration[,easing[,callback]]])
作用:制作动画效果用到的函数,功能非常的强大,可以连续使用此函数。
查找筛选
map(callback)HTML代码:
Values:
return$(this).val();
}).get().join(","));
结果:
[
John, password, ; ]
作用:将一组元素转换成其他数组(不论是否是元素数组)你可以用这个函数来建立一个列表,不论是值、属性还是CSS样式,或者其他特别形式。这都可以用'$.map()'来方便的建立。
find(expr)
HTML代码:
Hello, how are you?
jQuery代码:
$("p").find("span")
结果:
[ Hello ]
作用:搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。
文档处理
attr(key,value)HTML代码:
jQuery代码:
$("img").attr("src","test.jpg");
作用:取得或设置匹配元素的属性值。通过这个方法可以方便地从第一个匹配元素中获取一个属性的值。如果元素没有相应属性,则返回 undefined。在控制HTML标记上是必备的工具。
html()/html(val)HTML代码:
Hello
jQuery代码:
$("div").html();
结果:
Hello
作用:取得或设置匹配元素的html内容,同类型的方法还有text()和val()。前者是取得所有匹配元素的内容。,后者是获得匹配元素的当前值。三者有相似的地方常用在内容的操作上。
wrap(html)HTML代码:
Test Paragraph.
jQuery代码:
$("p").wrap("
");
结果:
Test Paragraph.
作用:把所有匹配的元素用其他元素的结构化标记包裹起来。
这种包装对于在文档中插入额外的结构化标记最有用,而且它不会破坏原始文档的语义品质。可以灵活的修改我们的DOM。
empty()HTML代码:
Hello, Person
jQuery代码:
$("p").empty();
结果:
作用:删除匹配的元素集合中所有的子节点。
Ajax处理
load(url,[data],[callback])
url(String):待装入 HTML网页网址。
data(Map):(可选)发送至服务器的 key/value数据。
callback(Callback):(可选)载入成功时回调函数。
代码:
$("#feeds").load("feeds.aspx",{limit: 25}, function(){
alert("The last 25 entries in the feed have been loaded");
});
作用:载入远程 HTML文件代码并插入至 DOM中。这也是Jquery操作Ajax最常用最有效的方法。
serialize()HTML代码:
Results:
check1
checked="checked"/> check2
checked="checked"/> radio1
radio2
jQuery代码:
$("#results").append(""+$("form").serialize()+"");
作用:序列化表格内容为字符串。用于 Ajax请求。
工具
jQuery.each(obj,callback)
代码:
$.each( [0,1,2], function(i, n){
alert("Item#"+ i+":"+ n);
});//遍历数组
$.each({ name:"John", lang:"JS"}, function(i, n){
alert("Name:"+ i+", Value:"+ n);//遍历对象
});
作用:通用例遍方法,可用于例遍对象和数组。
jQuery.makeArray(obj)
HTML代码:
First
Second
Third
Fourth
jQuery代码:
var arr= jQuery.makeArray(document.getElementsByTagName("div"));
结果:
Fourth
Third
Second
First
作用:将类数组对象转换为数组对象。使我们可以在数组和对象之间灵活的转换。
jQuery.trim(str)
作用:这个大家应该很熟悉,就是去掉字符串起始和结尾的空格。
小结:在实际的开发中我们可能会发现21世纪开运网用到其他的方法和属性,以上只是个人认为新手初学jQuery时,必须掌握的一些方法。仅供大家学习的参考。
以上内容就是我们为大家提供的jQuery中常用的函数方法,希望可以帮助到大家。
关于jquery each遍历对象的内容到此结束,希望对大家有所帮助。