IE不支持js的checkbox遍历使用for in语法
来源:互联网 发布:php解析xml字符串方法 编辑:程序博客网 时间:2024/05/30 23:41
BUG描述: IE经常发现一些奇葩的明明是规范的东西却明显不支持等各种奇葩问题,所以使用时要十分小心,最近的做到垃圾项目由于要求兼容IE,发现了一个奇葩的bug,现在分析出来,以及解决方案
<input type="checkbox" name="dataCheck" value="1"/><input type="checkbox" name="dataCheck" value="2"/><input type="checkbox" name="dataCheck" value="3"/>
var obj = document.getElementsByName("dataCheck"); for(k in obj){ if(obj[k].checked){ alert(obj[k].value); } }
按道理说上面这份代码应该能获取到选择的checkbox才对,我在chrome 和 firefox测试全部真正运行能获取到选中的checkbox的值然而在IE,却发现一个很奇葩的事情,IE9一下根本进不了for in循环,IE11以下进入for in循环后无法通过checked属性判断哪个被选中了,换了jquery对象判断依旧不行,查了下IE低版本不支持forEach()这个ES5的标准
解决方案:为了确保在不同浏览器的兼容性,开发过程编写前端代码应该使用最基本的遍历数组的方式,或者使用已经封装好的工具(比如成熟的jq库进行里面的each方法进行遍历)
for(var i = 1; i <= obj.length; i += 1){ if(obj[i-1].checked){ alert(obj[k].value); } }
0 0
- IE不支持js的checkbox遍历使用for in语法
- js中数组遍历for与for in区别(强烈建议不要使用for in遍历数组)
- js中数组遍历for与for in区别(强烈建议不要使用for in遍历数组)
- JS数组的遍历方式for循环与for...in
- js数组遍历 千万不要使用for...in...
- js数组遍历 千万不要使用for...in...
- js中for in 和 for each in的使用
- 使用for in遍历数组
- js 使用for...in...遍历对象时需要注意的一个问题:遍历时莫名其妙的多了属性
- js中使用for 循环和 for in 遍历数组区别
- js遍历GridView的checkBox的方法
- js中for in遍历对象属性
- js中遍历的语法
- delphi for xx in xx do 语法的使用示例
- iphone 里面使用for in遍历localStorage的特别情况
- js遍历页面中所有的checkbox,全选checkbox
- js--语法--for和for-in;访问对象的属性.和[]的区别
- css和js支持ie却不支持火狐的情况
- Backbone入门指南(三):Events(事件管理)
- Android-键盘遮挡登录或注册按钮
- [BZOJ3450]Easy(期望dp)
- 关于go语言中的Slice切片问题
- 《深入理解jvm》读书笔记之——类加载机制(类的初始化)
- IE不支持js的checkbox遍历使用for in语法
- IOS 在自己的app内唤起地图APP
- 295. Find Median from Data Stream
- PAT(A).1002.A+B for Polynomials(25)
- python 爬虫爬取新东方考研真题
- 机器学习算法(分类算法)—Rosenblatt感知机的对偶解法
- caffe 提取图像特征
- caffe code 理解-net.hpp-net.cpp
- 出现PerformSelector may cause a leak because its selector is unknown的问题