首頁 >web前端 >js教程 >IE與FireFox的JavaScript相容問題解決方案_javascript技巧

IE與FireFox的JavaScript相容問題解決方案_javascript技巧

WBOY
WBOY原創
2016-05-16 17:05:581068瀏覽

以下是 我在開發中遇到的情況:

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()沒有此方法
             HTMLElement.prototype.insertAdjacentElement=function(where,parsedNode){
                  case "beforeBegin":
               🎜>                        break;
                           this.insertBefore(parsedNode,this.firstChild);
                       case "beforeEnd":
           🎜>                        break;
                                     Node,this.nextSibling                this.parentNode.appendChild( parsedNode);
                        break;
               }


4、break語句失效。

在IE裡執行for迴圈語句時原本使用break可以跳出當次迴圈。但在FF裡面就變成了退出整個循環。這時候改用continue語句即可。

5、firefox報String contains an invalid character。

var chkBox=document.createElement(''); //在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 = "aaa";//firefox執行失敗,ie執行成功

IE與FireFox相容寫法

複製程式碼 程式碼
複製程式碼


程式碼
🎜>bdList.rows[k].cells[0].innerHTML = "aaa";
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();
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn