开发工具与关键技术:Visual Studio / each方法的应用
作者:郑名方
撰写时间:2019年6月 25日
为什么说jQuery中有个重要的方法.each(),因为大部分jQuery方法在内部都会调用.each,其中主要的原因就是jQuery的实例是一个元素集合。它可以找到所以“div”,并且都设置样式,css类只是一个方法,所以内部会调用.each()方法处理这个div的集合,给每个div都设置style属性。还有jQuery的大部分方法都是有针对性地对集合进行操作,所以jQuery会提供$(selector).each()方法来遍历jQuery对象,而且.each()只是处理jQuery对象的方法,jQuery还会提供一个通用的jQuery.each()方法,用来处理对象和数组的遍历。
each就是for循环方法的一个包装,内部就是通过for遍历数组与对象,通过回调函数返回内部迭代的一些参数,第一个参数是当前迭代成员在对象或数组中的索引值(从0开始计数),第二个参数是当前迭代成员(与this的引用相同jQuery.each()函数还会根据每次调用函数callback的返回值来决定后续动作。如果返回值为false,则停止循环(相当于普通循环中的break);如果返回其他任何值,均表示继续执行下一个循环。
除了jQuery对象.each()方法的调用,.each()的方法还可以同DOW对象,以每一个匹配的元素作为上下文来执行一个函数。每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOW(每次都是一个不同的匹配元素)。并且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整型)。返回”false”将停止循环(就像在普通的循环中使用”break”)。返回”true”跳至下一个循环(就像在普通的循环中使用“continue”)。
代码图片来源老师。