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 方法 都用 第二种写法
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 方法 都用 第二种写法
相关文章推荐
- jquery中attr和prop的区别分析
- jquery ui datepicker
- jQuery表单选择器
- 【jQuery】遮罩效果的实现
- 基于jquery的-获取短信验证码-倒计时
- 一些jquery技巧
- jquery.validate验证text,checkbox,radio,selected
- jQuery-1.9.1源码分析系列(一)整体架构续
- jQuery表单对象属性过滤选择器
- jQuery子元素过滤选择器
- php+mysql+jquery 简易的检索自动补全提示
- jQuery属性过滤选择器
- 点击淡入淡出jquery
- Jquery 事件冒泡 以及阻止默认事件
- jQuery-1.9.1源码分析系列(一)整体架构
- 三、jQuery--jQuery基础--jQuery基础课程--第11章 jQuery 工具类函数
- 两种方法基于jQuery实现IE浏览器兼容placeholder效果【转】
- JQuery中的prop和attr
- 理解jquery的$.extend()、$.fn和$.fn.extend()
- 前端学习笔记(zepto或jquery)—— 布局技巧(一)