each(callback)与each(object[,callback])的区别:
1. 调用对象不同,前者必须使用jQuery对象调用;后者只能使用$调用;
2. 遍历对象不同:前者遍历的是jQuery对象;后者还可以遍历数组等非jQuery对象。
我们来看个例子:
<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"/>乒乓球
<script>
//只能使用jQuery对象去调用 each() 来遍历jQuery对象
$("[name='hobby']").each(function(){
console.log(this);
if(this.checked){//当选项被选中时,输入其value值
console.log(this.value);
}
})
console.log("#########################");
//用$去调用 each() 来遍历jQuery对象
$.each($("[name='hobby']"), function() {
console.log(this);
});
console.log("#########################");
var names = ["JIm","kdf","df"];
//用$去调用each(),index是序号,value代表数组元素
$.each(names,function(index,value){
console.log(index+":"+value);
});
</script>
结果: