$(selector).each()和$.each()的区别

文章转自//https://blog.csdn.net/qq_27093465/article/details/50498744

.each()

$(selector).each()是专门用来遍历一个jQuery对象,为每个匹配元素执行一个函数。

.each() 方法用来让DOM循环结构更简单更不易出错。它会迭代jQuery对象中的每一个DOM元素。每次回调函数执行时,会传递当前循环次数作为参数(从0开始计数)。更重要的是,回调函数是在当前DOM元素为上下文的语境中触发的。因此关键字 this 总是指向这个元素。

例子:
<ul>
<li>foo</li>
<li>bar</li>
</ul>

$( "li" ).each(function( index ) {
console.log( index + ": "" + $(this).text() );
});

结果:
0: foo 
1: bar

$.each()

完整格式:jQuery.each(),简写为$.each()

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


$.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语句,这意味着,它会立即跳出当前的迭代,转到下一个迭代。

原文地址:https://www.cnblogs.com/xufeng1994/p/10073561.html