手机版

如何在JQuery中使用各个()

时间:2021-11-23 来源:互联网 编辑:宝哥软件园 浏览:

每个()函数都是几乎所有框架都提供的工具类函数,通过它可以遍历对象和数组的属性值并处理它们。jQuery和jQuery对象都实现了这个方法。对于jQuery对象,每个方法都是简单委托的:jQuery对象作为第一个参数传递给jQuery的每个方法。换句话说,jQuery提供的每个方法都会逐个调用参数提供的对象中的所有子元素。jQuery对象提供的每个方法都逐个调用jQuery内部的子元素。

根据参数的类型,每个函数的效果并不完全一致:

1.遍历对象(带有附加参数)。

副本代码如下: $。每个(对象,函数(p1,p2){ this;//这里指的是每次遍历中Object的当前属性值P1;p2;//访问附加参数},['参数1 ','参数2 ']);

2.遍历数组(带有附件参数)。

副本代码如下: $。每个(数组,函数(p1,p2){ this;//这里指的是每次遍历中Array的当前元素P1;p2;//访问附加参数},['参数1 ','参数2 ']);

3.遍历对象(无附加参数)。

副本代码如下: $。每个(对象、函数(名称、值){ this//这指向当前属性的值名;//name表示对象当前属性的名称值;//value表示Object}当前属性的值);

4.遍历数组(没有附加参数)。

副本代码如下: $。每个(数组、函数(I、值){ this//这指向当前元素I;//i表示数组的当前下标值;//value表示Array}的当前元素);

以下是jQuery每种方法的一些常见用法。

var arr=['一','二','三','四'];$.每个(arr,function(){ alert(this);});//以上每个的输出结果是:一、二、三、四var arr1=[[1,4,3],[4,6,6],[7,20,9]] $。每个(arr1,函数(I,item) {alert (item [。});//实际上arr1是二维数组,item相当于取每一个一维数组。//项[0]与取每个一维数组中的第一个值相反。//所以上面的每个输出是:1 47 varobj={one:1,two33602,three:3,four 33604 };$.每个(obj,function(key,val){ alert(obj[key]);});//这个每个更强大,可以循环每个属性。//输出结果为:1 2 3 4 1 . 3 . 2正式文档中jQuery中每个函数的描述如下:每个(回调)执行一个函数,每个匹配的元素作为上下文。这意味着每次执行传入的函数时,函数中的This关键字都会指向不同的DOM元素(每次都是不同的匹配元素)。此外,每次执行函数时,代表匹配元素集中作为执行环境的元素的位置的数值作为参数传递给函数(从零开始整形)。返回“false”将停止循环(就像在普通循环中使用“break”一样)。返回“true”跳到下一个循环(就像在普通循环中使用“continue”)。它后面的回调是一个回调函数,它指示遍历元素时应该给出的操作。让我们从一个简单的例子开始:迭代两个图像并设置它们的src属性。请注意,这里指的是DOM对象,而不是jQuery对象。HTML代码:的复制代码如下: img/img/jQuery代码: $ ('img ')。每个(函数(i) {this.src=' test' i '。jpg ';});结果:[img src=' http 3360 test 0 . jpg '/,img src=' http3360test1.jpg'/]当然,遍历元素时,jquery允许自定义跳出。请看示例代码:您可以使用“return”提前跳出每个()循环。复制HTML代码:的代码如下:按钮更改颜色/按钮跨度/跨度div/div/div/div/div/div/div/div id=' stop ' stop ' stop在此处/div/div/div/div/div/被复制的jQuery代码:的代码如下: $ ('button ')。单击(function () {$ ('div ')。每个(函数(index,domele) {$ (domele))。CSS('背景色',' when ');If ($ (this)。是(' # stop '){ $(' span ')。文本('停止,其中div块是# '索引' ');返回false} });或者这样写:复制代码如下: $ ('button ')。单击(function () {$ ('div ')。每个(函数(索引){$ (this))。CSS('背景色',' when ');If ($ (this)。是(' # stop '){ $(' span ')。文本('停止,其中div块是# '索引' ');返回false} });插图:

each()方法为每个匹配的元素指定要运行的函数。提示:返回false可用于提前停止循环。语法$(选择器)。每个(函数(索引,元素))参数描述函数(索引,元素)都是必需的。为每个匹配的元素指定要运行的函数。index-selector元素的索引位置-当前元素(也可以使用“this”selector实例输出每个li元素的文本:复制代码如下: $(“button”)。单击(function () {$ ('Li '))。每个(函数(){alert ($ (this))。text ())}。});实例obj对象不是数组。这个方法和1最大的区别是,不管返回值是多少,都会一个一个的执行fn方法。换句话说,obj对象的所有属性都将被fn方法调用,即使fn函数返回false。调用传入的参数类似于1。复制代码如下:jquery。每个=函数(obj,fn,args) {if (args) {if (obj。length==undefined){ for(obj中的var I)fn。应用(obj,args);}else{ for (var i=0,ol=obj.lengthi oli ) { if (fn.apply(obj,args)==false)break;} } } else { if(obj . length==undefined){ for(obj中的var I)fn . call(obj,I,obj);}else{ for (var i=0,ol=obj.length,val=obj[0];打电话给(瓦尔,我,瓦尔)!==falseval=obj[ i] ){} } }返回obj;}需要注意的是,每个方法中fn的具体调用方法不是fn(i,val)或fn(args)的形式,而是fn.call(val,I,val)或fn.apply(obj.args)的形式,这意味着在自己的fn实现中,可以直接使用这个指针来引用对象的数组或子元素。如何跳出每一个?当jquery遍历所选对象时,使用每一个更方便。一个应用是在找到合格的对象后跳出这个循环。Javascript通常使用break跳出循环。同事遇到这个问题,下意识地用break跳出循环。结果是错误的语法错误:未标记的中断必须在循环或开关内部。调查之后,您应该在回调函数中使用return false。jq的大多数方法都是一样的。复制代码如下:返回“false”停止循环(就像在普通循环中使用“break”)。返回“true”跳到下一个循环(就像在普通循环中使用“continue”)。

版权声明:如何在JQuery中使用各个()是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。