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 void(0)的妙用
Oct 21 Javascript
jQuery下通过$.browser来判断浏览器.
Apr 05 Javascript
基于JQuery的Select选择框的华丽变身
Aug 23 Javascript
用js读、写、删除Cookie代码续篇
Dec 03 Javascript
javascript中in运算符用法分析
Apr 28 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
Jun 08 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
Jun 14 Javascript
关于微信jssdk实现多图片上传的一点心得分享
Dec 13 Javascript
了解Javascript中函数作为对象的魅力
Jun 19 Javascript
VueJS 取得 URL 参数值的方法
Jul 19 Javascript
Element MessageBox弹框的具体使用
Jul 27 Javascript
原生JS实现相邻月份日历
Oct 13 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+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
PHP中常见的密码处理方式和建议总结
2018/10/14 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
jQuery 页面载入进度条实现代码
2009/02/08 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
js 窗口抖动示例
2013/09/04 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
使用纯javascript实现经典扫雷游戏
2015/04/23 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
python中requests库session对象的妙用详解
2017/10/30 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
深入了解Django View(视图系统)
2019/07/23 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
2019/10/30 Python
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
一些Unix笔试题和面试题
2012/09/25 面试题
入党积极分子思想汇报范文
2014/01/05 职场文书
四年级下册教学反思
2014/02/01 职场文书
个人求职自荐信范文
2015/03/06 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书