jQuery each()方法

  1. jQuery.each()
    1. 例子一
    2. 例子二
  2. $(selector).each()

jQuery.each()

jQuery.each(collection, callback(indexInArray, valueOfElement))
描述: 一个通用的迭代函数,它可以用来无缝迭代对象和数组。数组和类似数组的对象通过一个长度属性(如一个函数的参数对象)来迭代数字索引,从0到length - 1。其他对象通过其属性名进行迭代。

jQuery.each(object, callback)

  • object

遍历的对象。

  • callback

类型: Function( String index, Object value )
该函数会在每个对象上(迭代)调用。index 索引(键), value 值。

$.each()函数和 $(selector).each()是不一样的,那个是专门用来遍历一个jQuery对象。$.each()函数可用于迭代任何集合,无论是“名/值”对象(JavaScript对象)或数组。在迭代数组的情况下,回调函数每次传递一个数组索引和相应的数组值作为参数。(该值也可以通过访问this关键字得到,但是JavaScript将始终将this值作为一个Object ,即使它是一个简单的字符串或数字值。)。

注意: $.each()函数会在内部检索并且使用传递集合的 length属性。 所以,如果集合有一个名为length的属性 - 比如 {bar: 'foo', length: 10} - 这个函数可能无法正常工作(未发现)。

例子一

$.each([52, 97], function(index, value) {
  alert(index + ': ' + value);
});

这将产生两个信息:

0: 52
1: 97

例子二

如果对象是作为集合使用,回调函数每次传递一个键值对的:

var obj = {
  "flammable": "inflammable",
  "duh": "no duh"
};
$.each( obj, function( key, value ) {
  alert( key + ": " + value );
});

再次,这将产生两个信息:

flammable: inflammable
duh: no duh

我们可以在$.each()返回false来终止迭代。返回非false相当于一个循环中的continue语句,这意味着,它会立即跳出当前的迭代,转到下一个迭代。

$(selector).each()

each() 方法规定为每个匹配元素规定运行的函数。专门用来遍历一个jQuery对象
返回 false 可用于及早停止循环。
语法
$(selector).each(function(index,element))

function(index,element)
必需。为每个匹配元素规定运行的函数。

  • index - 选择器的 index 位置
  • element - 当前的元素(也可使用 "this" 选择器)
<ul>
    <li>foo</li>
    <li>bar</li>
</ul>
$( "li" ).each(function( index ) {
  alert( index + ": "" + $(this).text() );
});

列表中每一项会显示在下面的消息中:

0: foo
1: bar

http://www.css88.com/jqapi-1.9/jQuery.each/
http://www.css88.com/jqapi-1.9/each/


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 bin07280@qq.com

文章标题:jQuery each()方法

文章字数:621

本文作者:Bin

发布时间:2016-04-26, 14:39:48

最后更新:2019-08-21, 15:38:56

原始链接:http://coolview.github.io/2016/04/26/JavaScript/jQuery-each-%E6%96%B9%E6%B3%95/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录