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 相关文章推荐
DHTML 中的绝对定位
Nov 26 Javascript
List the Codec Files on a Computer
Jun 11 Javascript
javascript 模拟点击广告
Jan 02 Javascript
Javascript Function对象扩展之延时执行函数
Jul 06 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
Oct 13 Javascript
实例代码讲解jquery easyui动态tab页
Nov 17 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
Dec 03 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
Nov 07 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
Mar 01 Javascript
基于游标的分页接口实现代码示例
Nov 12 Javascript
js实现随机8位验证码
Jul 24 Javascript
ant design vue的form表单取值方法
Jun 01 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
PHP5 操作MySQL数据库基础代码
2009/09/29 PHP
zend framework文件上传功能实例代码
2013/12/25 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
php字符集转换
2017/01/23 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
2017/03/25 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
php设计模式之策略模式应用案例详解
2019/06/17 PHP
关于js内存泄露的一个好例子
2013/12/09 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
JavaScript使用RegExp进行正则匹配的方法
2015/07/11 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
python如何让类支持比较运算
2018/03/20 Python
浅谈Python中的全局锁(GIL)问题
2019/01/11 Python
Python安装selenium包详细过程
2019/07/23 Python
Python的缺点和劣势分析
2019/11/19 Python
python绘制随机网络图形示例
2019/11/21 Python
python画图常规设置方式
2020/03/05 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
Python datetime模块使用方法小结
2020/06/18 Python
Python3如何在服务器打印资产信息
2020/08/27 Python
python的链表基础知识点
2020/09/13 Python
新学期决心书
2014/03/11 职场文书
春游踏青活动方案
2014/08/14 职场文书
顶岗实习计划书
2015/01/16 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
青年志愿者活动感想
2015/08/07 职场文书
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android