您的位置:首页 > Web前端 > JQuery

jquery.each兼容IE,firefox

2015-11-03 17:28 656 查看
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 方法 都用 第二种写法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: