jquery.each兼容IE,firefox

jQuery的each 方法中的this指针指向问题,这个是昨天工作中遇到的问题

jQuery.each  写法:
1 :
Java代码 
 
jQuery('input[type=checkbox]').each(function (){  
 
        alert(this.checked+this.treeId);//treeI的是自定义属性  
}); 


jQuery('input[type=checkbox]').each(function (){

        alert(this.checked+this.treeId);//treeI的是自定义属性
});


这样的写法在IE下会正常的输出,但是在firefox,则不会识别,尤其是对于自定义属性,this指针在闭包的时候出现差错。

2:
Java代码 
jQuery.each(jQuery('input[type=checkbox]'),function (i,item){  
        alert("i=" + i + ",item="+jQuery(item).attr('自定义属性'));  
}); 

jQuery.each(jQuery('input[type=checkbox]'),function (i,item){
        alert("i=" + i + ",item="+jQuery(item).attr('自定义属性'));
});


这样写就会避免使用this指针,就可以兼容ie和firefox了,i是代表当前是第几个变量,而item则代表这个变量所指的对象,是dom对象

所以我个人建议以后我们用jQuery 的each 方法 都用 第二种写法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值