jquery中的each方法是干什么的 jquery.each
转载
通过jQuery $.each,你可以遍历对象、数组的属性值并进行处理。
使用说明
each函数根据参数的类型实现的效果不完全一致:
1、遍历对象(有附加参数)
代码如下 | 复制代码 |
$.each(Object, function(p1, p2) {
this; //这里的this指向每次遍历中Object的当前属性值
p1; p2; //访问附加参数
}, [‘参数1′, ‘参数2′]);
|
2、遍历数组(有附件参数)
代码如下 | 复制代码 |
$.each(Array, function(p1, p2){
this; //这里的this指向每次遍历中Array的当前元素
p1; p2; //访问附加参数
}, [‘参数1′, ‘参数2′]);
|
3、遍历对象(没有附加参数)
代码如下 | 复制代码 |
$.each(Object, function(name, value) {
this; //this指向当前属性的值
name; //name表示Object当前属性的名称
value; //value表示Object当前属性的值
});
|
4、遍历数组(没有附加参数)
代码如下 | 复制代码 |
$.each(Array, function(i, value) {
this; //this指向当前元素
i; //i表示Array当前下标
value; //value表示Array当前元素
});
|
下面提一下jQuery的each方法的几种常用的用法
代码如下 | 复制代码 |
Js代码
var arr = [ “one”, “two”, “three”, “four”];
$.each(arr, function(){
alert(this);
});
//上面这个each输出的结果分别为:one,two,three,four
var arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]]
$.each(arr1, function(i, item){
alert(item[0]);
});
//其实arr1为一个二维数组,item相当于取每一个一维数组,
//item[0]相对于取每一个一维数组里的第一个值
//所以上面这个each输出分别为:1 4 7
var obj = { one:1, two:2, three:3, four:4};
$.each(obj, function(key, val) {
alert(obj[key]);
});
//这个each就有更厉害了,能循环每一个属性
//输出结果为:1 2 3 4
That which didn’t kill me makes me stronger
|
jquery each()方法的巧妙使用
alt="jquery each()方法的巧妙使用" 有时候我们在写jquery的时候,特别是面对一些父元素下同一类子元素进行一些统一的操作,这时候我们可以考虑使用jquery的each()方法,下面举个例子说明
代码如下 | 复制代码 |
$(function () {
/*长条导航*/
$("#lmlbl li:eq(0)").attr("class", "cll sell");
$("#lmnrl div:eq(0)").show();
$("#lmlbl li").each(function (i) {
$(this).mouseover(function () {
$(this).attr("class", "cll sell").siblings("li").attr("class", "cll");
$("#lmnrl div").hide();
$("#lmnrl div:eq(" + i + ")").show();
});
});
|
这个是做一个导航鼠标经过某个li时给它进行变动,采用each()函数我们可以很方便的获取到我们到底触发了ul里边的哪一个
li元素,这样我们就能很准确的去给某个li赋予变动或者不赋予变动,用起来很方便吧,
如果是进行一些比较简单的,栏目切换,我觉得我有一段很简练的代码可以供大家参考
//TAB切换
function SwapTab(name,title,content,Sub,cur){
$(name+' '+title).mouseover(function(){
$(this).addClass(cur).siblings().removeClass(cur);
$(content+" > "+Sub).eq($(name+' '+title).index(this)).show().siblings().hide();
});
}
//TAB切换
function SwapTab(name,title,content,Sub,cur){
$(name+' '+title).mouseover(function(){
$(this).addClass(cur).siblings().removeClass(cur);
$(content+" > "+Sub).eq($(name+' '+title).index(this)).show().siblings().hide();
});
}
这一段代码写的很精练,就可以轻轻松松的帮我们实现栏目的切换效果。
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。