IE与FireFox的JavaScript兼容问题解决办法


Posted in Javascript onDecember 31, 2013

以下是 我在开发中遇到的情况:

1、动态删除table里的某一行。

table:表示table对象。

k:表示行号

table.rows[k].removeNode(true); //firefox执行失败,ie执行成功

IE与FireFox兼容写法

table.deleteRow(k);

2、为HTML标签自定义属性。

inputElement:表示表单元素。

propertyName:表示表单元素下的某个属性

inputElement.propertyName; //firefox执行失败,ie执行成功

IE与FireFox兼容写法

document.getElementById("txtInput").attributes["idvalue"].nodeValue

3、在指定位置插入HTML元素。

inputElement:表示表单元素。

vDiv:表示将要插入的HTML元素。

inputElement.insertAdjacentElement("AfterEnd",vDiv);//firefox执行失败,ie执行成功

IE与FireFox兼容写法

在firefox中,没有该方法的定义,因此,如果需要调用该方法,需要自己重定义该方法。

//重写insertAdjacentElement()方法,因为firefox中没有该方法
             HTMLElement.prototype.insertAdjacentElement=function(where,parsedNode){
                switch(where){
                    case "beforeBegin":
                        this.parentNode.insertBefore(parsedNode,this);
                        break;
                    case "afterBegin":
                        this.insertBefore(parsedNode,this.firstChild);
                        break;
                    case "beforeEnd":
                        this.appendChild(parsedNode);
                        break;
                    case "afterEnd":
                        if(this.nextSibling)
                            this.parentNode.insertBefore(parsedNode,this.nextSibling);
                        else
                            this.parentNode.appendChild(parsedNode);
                        break;
                    }
                }

4、break语句失效。

在IE里执行for循环语句时原本使用break可以跳出当次循环。但在FF里面就变成了退出整个循环。这时候改用continue语句即可。

5、firefox报String contains an invalid character。

var chkBox=document.createElement('<input type="Checkbox" name="treeBox" value= '+key+'>'); //在IE下成功执行

IE与FireFox兼容写法

firefox不支持这种createElement的定义方式,需要分步进行:

 var chkBox = document.createElement('input');
 chkBox.name = "treeBox";
 chkBox.type = "checkbox";
chkBox.value = key;

6、table 对象的 (表格行)对象的集合
bdList.rows(k).cells(0).innerHTML = "<a>aaa</a>";//firefox执行失败,ie执行成功

IE与FireFox兼容写法

bdList.rows[k].cells[0].innerHTML = "<a>aaa</a>";

7、JS的getYear()方法在firefox里的问题

var today = new date();
var year = today.getYear();
在 Firefox 里面 getYear 返回的是 "当前年份-1900" 的值 IE里面则:
当today的年份小于2000的时候,和firefox一样。所以最好用 getFullYear getUTCFullYear 去调用

IE与FireFox兼容写法

var today = new date(); 
var year = today.getFullYear();
Javascript 相关文章推荐
编写兼容IE和FireFox的脚本
May 18 Javascript
关于JavaScript对象的动态选择及遍历对象
Mar 10 Javascript
JQuery右键菜单插件ContextMenu使用指南
Dec 19 Javascript
使用jquery.qrcode.js生成二维码插件
Oct 17 Javascript
JS button按钮实现submit按钮提交效果
Nov 01 Javascript
微信小程序 template模板详解及实例
Feb 21 Javascript
原生JS仿QQ阅读点击展开、收起效果
Mar 08 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
Feb 01 Javascript
微信小程序template模版的使用方法
Apr 13 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
Aug 27 Javascript
原生js无缝轮播插件使用详解
Mar 09 Javascript
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 Vue.js
jquery遍历select元素(实例讲解)
Dec 31 #Javascript
在页面上用action传递参数到后台出现乱码的解决方法
Dec 31 #Javascript
获取鼠标在div中的相对位置的实现代码
Dec 30 #Javascript
input链接页面、打开新网页等等的具体实现
Dec 30 #Javascript
获取3个数组不重复的值的具体实现
Dec 30 #Javascript
改变隐藏的input中value的值代码
Dec 30 #Javascript
js中switch case循环实例代码
Dec 30 #Javascript
You might like
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
PHP版本如何选择?应该使用哪个版本?
2015/05/13 PHP
JSON 编辑器实现代码
2009/12/06 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
原生js+cookie实现购物车功能的方法分析
2017/12/21 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
深入理解redux之compose的具体应用
2020/01/12 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
[52:05]EG vs OG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
python中int与str互转方法
2018/07/02 Python
对python判断是否回文数的实例详解
2019/02/08 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
python数据归一化及三种方法详解
2019/08/06 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
Python基于read(size)方法读取超大文件
2020/03/12 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
邻里守望志愿服务活动方案
2014/08/15 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
辅导员学期工作总结
2015/08/14 职场文书
python百行代码实现汉服圈图片爬取
2021/11/23 Python