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在JavaScript上的7个不同写法小结
Sep 14 Javascript
把jquery 的dialog和ztree结合实现步骤
Aug 02 Javascript
jquery ajax中使用jsonp的限制解决方法
Nov 22 Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 Javascript
Spring MVC中Ajax实现二级联动的简单实例
Jul 06 Javascript
JS排序之冒泡排序详解
Apr 08 Javascript
jQuery滑动到底部加载下一页数据的实例代码
May 22 jQuery
JS手机端touch事件计算滑动距离的方法示例
Oct 26 Javascript
React-intl 实现多语言的示例代码
Nov 03 Javascript
浅析Vue中method与computed的区别
Mar 06 Javascript
React和Vue中监听变量变化的方法
Nov 14 Javascript
深入解析koa之异步回调处理
Jun 17 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
QueryPath PHP 中的jQuery
2010/04/11 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
2019/03/01 PHP
javascript 获取表单file全路径
2009/12/31 Javascript
javascript写的日历类(基于pj)
2010/12/28 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
JQuery调用WebServices的方法和4个实例
2014/05/06 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
D3.js实现散点图和气泡图的方法详解
2016/09/21 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
PHP7新特性简述
2017/06/11 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
Vue数据双向绑定原理及简单实现方法
2018/05/18 Javascript
JavaScript常用工具方法封装
2019/02/12 Javascript
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
js实现多张图片每隔一秒切换一张图片
2019/07/29 Javascript
Hadoop中的Python框架的使用指南
2015/04/22 Python
python ChainMap 合并字典的实现步骤
2019/06/11 Python
Python变量访问权限控制详解
2019/06/29 Python
Python argparse模块应用实例解析
2019/11/15 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
简单的Python人脸识别系统
2020/07/14 Python
CSS3 渐变(Gradients)之CSS3 径向渐变
2016/07/08 HTML / CSS
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
大学学雷锋活动总结
2014/06/26 职场文书
在宿舍喝酒的检讨书
2014/09/28 职场文书
百万英镑观后感
2015/06/09 职场文书
导游词之海南天涯海角
2019/12/05 职场文书