each(callback):每个匹配的元素都会执行该函数,如下例子:
<input type="checkbox" name="hobby" value="1"/>足球
<input type="checkbox" name="hobby" value="1"/>乒乓球
<input type="checkbox" name="hobby" value="1"/>羽毛球
<script>
$("input[name=hobby]").each(function(){
console.log(this);
})
console.log("=======");
$.each($("input[name=hobby]"),function(){
console.log(this);
})
</script>
注意:
参数实参所指函数中的this 指代的是 DOM 对象而非 jQuery 对象; 如果在函数中使用jQuery对象,可以通过 $(this) 方式进行转换。
each(object[, callback]):用于遍历对象(可以是jQuery对象)和数组,其中object表示待遍历的jQuery对象或数组;callback表示每个成员/元素执行的回调函数,如下例子:
遍历数组:
$.each(["Tom","Cell","Jim"], function(index,value) {
console.log(index+":"+value);
});
此时可以输出数组元素的索引以及对应的值
遍历jQuery对象:
$.each($("input[name=hobby]"),function(){
console.log(this);
})
即为第一段代码后边部分,两种方式输出的结果是一样的。
需要注意的是:
each(callback)与each(object[, callback])区别:
调用对象不同:前者必须使用jQuery对象调用;后者只能使用$调用;
遍历对象不同:前者遍历的是jQuery对象;后者还可以遍历数组等非jQuery对象;