jquery的each
jQuery 的 each 方法
jQuery 的 each 方法用于遍历 jQuery 对象或数组/类数组对象,并对每个元素执行回调函数。该方法有两种形式:一种是静态方法 $.each(),另一种是实例方法 $(selector).each()。
静态方法 $.each()
$.each() 用于遍历数组或对象,语法如下:
$.each(collection, function(index, value) {
// 处理逻辑
});
- collection: 要遍历的数组或对象。
- index: 当前元素的索引或键名。
- value: 当前元素的值。
示例:遍历数组
var arr = [10, 20, 30];
$.each(arr, function(index, value) {
console.log(index + ": " + value);
});
// 输出:
// 0: 10
// 1: 20
// 2: 30
示例:遍历对象
var obj = { name: "John", age: 30 };
$.each(obj, function(key, value) {
console.log(key + ": " + value);
});
// 输出:
// name: John
// age: 30
实例方法 $(selector).each()
$(selector).each() 用于遍历 jQuery 对象中的 DOM 元素,语法如下:
$(selector).each(function(index, element) {
// 处理逻辑
});
- index: 当前元素的索引。
- element: 当前的 DOM 元素(非 jQuery 对象)。
示例:遍历 DOM 元素
$("li").each(function(index, element) {
console.log(index + ": " + $(element).text());
});
// 输出每个 <li> 的索引和文本内容
提前终止遍历
在 each 的回调函数中,返回 false 可以终止遍历(类似于 break),返回 true 可以跳过当前迭代(类似于 continue)。
示例:终止遍历
$.each([1, 2, 3, 4], function(index, value) {
if (value === 3) {
return false; // 终止遍历
}
console.log(value);
});
// 输出:
// 1
// 2
注意事项
$.each()可以遍历任何可迭代对象,而$(selector).each()仅用于遍历 jQuery 对象。- 在
$(selector).each()中,element是原生 DOM 元素,如需使用 jQuery 方法,需用$(element)包装。
性能优化
对于纯数组遍历,原生 JavaScript 的 forEach 通常比 $.each() 更快。但在需要兼容旧浏览器或处理复杂逻辑时,$.each() 更方便。

// 原生 forEach
[10, 20, 30].forEach(function(value, index) {
console.log(index + ": " + value);
});






