IE與FireFox的JavaScript兼容問題解決辦法
以下是 我在開發(fā)中遇到的情況:
1、動態(tài)刪除table里的某一行。
table:表示table對象。
k:表示行號
table.rows[k].removeNode(true); //firefox執(zhí)行失敗,ie執(zhí)行成功
IE與FireFox兼容寫法
table.deleteRow(k);
2、為HTML標簽自定義屬性。
inputElement:表示表單元素。
propertyName:表示表單元素下的某個屬性
inputElement.propertyName; //firefox執(zhí)行失敗,ie執(zhí)行成功
IE與FireFox兼容寫法
document.getElementById("txtInput").attributes["idvalue"].nodeValue
3、在指定位置插入HTML元素。
inputElement:表示表單元素。
vDiv:表示將要插入的HTML元素。
inputElement.insertAdjacentElement("AfterEnd",vDiv);//firefox執(zhí)行失敗,ie執(zhí)行成功
IE與FireFox兼容寫法
在firefox中,沒有該方法的定義,因此,如果需要調(diào)用該方法,需要自己重定義該方法。
//重寫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里執(zhí)行for循環(huán)語句時原本使用break可以跳出當次循環(huán)。但在FF里面就變成了退出整個循環(huán)。這時候改用continue語句即可。
5、firefox報String contains an invalid character。
var chkBox=document.createElement('<input type="Checkbox" name="treeBox" value= '+key+'>'); //在IE下成功執(zhí)行
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執(zhí)行失敗,ie執(zhí)行成功
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 去調(diào)用
IE與FireFox兼容寫法
var today = new date();
var year = today.getFullYear();
相關(guān)文章
使用eslint和githooks統(tǒng)一前端風(fēng)格的技巧
這篇文章主要介紹了使用eslint和githooks統(tǒng)一前端風(fēng)格,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07JS操作字符串轉(zhuǎn)換為數(shù)值并取整的代碼
這篇文章主要介紹了JS操作字符串轉(zhuǎn)換為數(shù)值并取整的代碼,代碼比較短,需要的朋友可以參考下2014-01-01事件綁定之小測試 onclick && addEventListener
昨晚回去后,和雷子討論如何才能“檢測”到頁面上某個元素都綁定了哪些事件監(jiān)聽函數(shù),第一感覺就是應(yīng)該從瀏覽器入手,比如FF,或者Chrome等2011-07-07js調(diào)用打印機打印網(wǎng)頁字體總是縮小一號的解決方法
直接調(diào)用window.print(),但是打印出來后,字體總是縮小一號,后來直接target="_blank",就可以正常打印了,下面是實現(xiàn)代碼2014-01-01Layui 帶多選框表格監(jiān)聽事件以及按鈕自動點擊寫法實例
今天小編就為大家分享一篇Layui 帶多選框表格監(jiān)聽事件以及按鈕自動點擊寫法實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09