一.each(callback):每个匹配的元素都会执行该函数,只能遍历jQuary对象。例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery-3.3.1.min.js" ></script>
</head>
<body>
<input type="checkbox" name="hobby" value="1" checked="checked"/>足球
<input type="checkbox" name="hobby" value="2"/>篮球
<input type="checkbox" name="hobby" value="3" checked="checked"/>乒乓球
</body>
<script>
$("[name='hobby']").each(function(){
console.log(this);
})
</script>
</html>
注意:参数实参所指函数中的this 指代的是 DOM 对象而非 jQuery 对象; 如果在函数中使用jQuery对象,可以通过 $(this) 方式进行转换。
二.each(object[, callback]):用于遍历对象可以是jQuery对象也可以数组,其中object表示待遍历的jQuery对象或数组,例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery-3.3.1.min.js" ></script>
</head>
<body>
<input type="checkbox" name="hobby" value="1" checked="checked"/>足球
<input type="checkbox" name="hobby" value="2"/>篮球
<input type="checkbox" name="hobby" value="3" checked="checked"/>乒乓球
</body>
<script>
$.each($("[name='hobby']"), function(i,value) {
console.log(i+":"+value);
});
$.each(["tom","jimm","simy"], function(i,value) {
console.log(i+":"+value);
});
</script>
</html>
区别:
1.调用对象不同:前者必须使用jQuery对象调用;后者只能使用$调用;
2.遍历对象不同:前者遍历的是jQuery对象;后者还可以遍历数组等非jQuery对象;