我之前使用过这两种方式,但我不确定它们的区别。有人可以解释这些差异吗?
1. $(myObjects).each(function(){}};
2. $.each($(myObjects), function(){});
答案 0 :(得分:2)
$('.myClass, .anotherClass').each(function(){}};
这是从你的选择器循环遍历每个jquery元素。
来自文档:
迭代jQuery对象,为每个匹配的元素执行一个函数。 $ .each()函数与$(selector).each()不同,后者用于独占于jQuery对象进行迭代。
var arr = [1,2,3,4];
$.each(arr, function(index, value){});
这是循环数组或对象的实用工具方法。
来自文档:
通用迭代器函数,可用于无缝迭代对象和数组。具有length属性的数组和类似数组的对象(例如函数的参数对象)由数字索引迭代,从0到length-1。其他对象通过其命名属性进行迭代。
您可以使用:$ .each()和.each()循环遍历jQuery对象列表。
// Can be used to iterate any list or object
var $selectedElements = $('.tabs');
$.each($selectedElements, function(index, value){
$(this).html(index);
});
// Can only be used for iterating a list of jquery objects,
// and is the recommended way of doing it.
$selectedElements.each(function(index, element){
$(this).html(index);
});
但你不能使用.each()循环对象或列表
// YOU CANNOT DO THIS
var list = [1,2,3];
list.each(function(){
});
答案 1 :(得分:1)
来自 docs :
$ .each()函数与.each()不同,后者是用来做的 通过jQuery对象专门迭代。 $ .each()函数可以 用于迭代任何集合,无论它是否为地图 (JavaScript对象)或数组。
答案 2 :(得分:1)
.each是一个迭代器,用于迭代jQuery对象集合,而jQuery.each($ .each)是迭代javascript对象和数组的通用函数。