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 相关文章推荐
javascript模拟的Ping效果代码 (Web Ping)
Mar 13 Javascript
Jquery 的outerHeight方法使用介绍
Sep 11 Javascript
javascript递归回溯法解八皇后问题
Apr 22 Javascript
JS中生成随机数的用法及相关函数
Jan 09 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
Jan 05 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
Jun 16 Javascript
Mac中安装nvm的教程分享
Dec 11 Javascript
vue-cli扩展多模块打包的示例代码
Apr 09 Javascript
iview Upload组件多个文件上传的示例代码
Sep 30 Javascript
layer弹出层取消遮罩的方法
Sep 25 Javascript
jQuery HTML获取内容和属性操作实例分析
May 20 jQuery
原生jQuery实现只显示年份下拉框
Dec 24 jQuery
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
关于文本留言本的分页代码
2006/10/09 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
显示js对象所有属性和方法的函数
2009/10/16 Javascript
javascript入门基础之私有变量
2010/02/23 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
linux下安装easy_install的方法
2013/02/10 Python
python中字符串类型json操作的注意事项
2017/05/02 Python
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
python用quad、dblquad实现一维二维积分的实例详解
2019/11/20 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
python 根据列表批量下载网易云音乐的免费音乐
2020/12/03 Python
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
小学生成长感言
2014/01/30 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
2014年五四青年节演讲比赛方案
2014/04/22 职场文书
学生会主席演讲稿
2014/04/25 职场文书
部队2015年终工作总结
2015/04/02 职场文书
学生会任命书范本
2015/09/21 职场文书
Python绘制地图神器folium的新人入门指南
2021/05/23 Python
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL
nginx 配置缓存
2022/05/11 Servers
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL