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 相关文章推荐
Js sort排序使用方法
Oct 17 Javascript
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
Oct 29 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
Nov 19 Javascript
Javascript中With语句用法实例
May 14 Javascript
详解JavaScript中void语句的使用
Jun 04 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
Sep 05 Javascript
javascript编写简易计算器
May 06 Javascript
jQuery中内容过滤器简单用法示例
Mar 31 jQuery
JavaScript中BOM对象原理与用法分析
Jul 09 Javascript
vue element upload组件 file-list的动态绑定实现
Oct 11 Javascript
vue中get请求如何传递数组参数的方法示例
Nov 08 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
Apr 21 Javascript
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
php的array_multisort()使用方法介绍
2012/05/16 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
PHP提高编程效率的20个要点
2015/09/23 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
laravel自定义分页效果
2017/07/23 PHP
Laravel 队列使用的实现
2019/01/08 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
vue.js实现条件渲染的实例代码
2017/06/22 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
Vue单页应用引用单独的样式文件的两种方式
2018/03/30 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
2019/04/15 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
更新修改后的Python模块方法
2019/03/03 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
如何一键升级Python所有包
2020/11/05 Python
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
公司年底活动方案
2014/08/17 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
德劲DE1105机评
2022/04/05 无线电
SQL Server使用导出向导功能
2022/04/08 SQL Server