IE与FireFox的JavaScript兼容问题解决办法

所属分类: 网络编程 / JavaScript 阅读数: 974
收藏 0 赞 0 分享

以下是 我在开发中遇到的情况:

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();

更多精彩内容其他人还在看

BootStrap数据表格实例代码

本文通过实例代码给大家分享了BootStrap数据表格的相关知识,感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

基于vue的短信验证码倒计时demo

这篇文章主要介绍了基于vue的短信验证码倒计时demo,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解React Native开源时间日期选择器组件(react-native-datetime)

本篇文章主要介绍了详解React Native开源时间日期选择器组件(react-native-datetime),具有一定的参考价值,有兴趣的可以了解一下
收藏 0 赞 0 分享

JS库particles.js创建超炫背景粒子插件(附源码下载)

particles.js用于创建粒子的轻量级 JavaScript 库。使用方法非常简单,代码也很容易实现,下面通过本文给大家分享JS库particles.js创建超炫背景粒子插件附源码下载,需要的朋友参考下吧
收藏 0 赞 0 分享

JS库之Waypoints的用法详解

waypoints的功能非常强大,一款用于捕获各种滚动事件的插件,下面跟随脚本之家小编一起学习JS库之Waypoints的用法吧
收藏 0 赞 0 分享

强大的JavaScript响应式图表Chartist.js的使用

本篇文章主要介绍了强大的JavaScript响应式图表Chartist.js的使用,具有一定的参考价值,有兴趣的可以了解一下
收藏 0 赞 0 分享

详解wow.js中各种特效对应的类名

本篇文章主要介绍了wow.js中各种特效对应的类名 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JS库之Highlight.js的用法详解

highlight.js是一款轻量级的Web代码语法高亮库。下面通过实例代码给大家分享JS库之Highlight.js的用法详解,感兴趣的朋友跟随脚本之家小编一起学习吧
收藏 0 赞 0 分享

详解动画插件wow.js的使用方法

本篇文章主要介绍了动画插件wow.js的使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JS库 Highlightjs 添加代码行号的实现代码

Highlightjs是一款优秀的代码高亮Js组件,可以很方便地对各种语言编写的代码添加语法高亮样式。本文重点给大家介绍Highlightjs 添加代码行号的实现代码,需要的朋友参考下吧
收藏 0 赞 0 分享
查看更多