IE與FireFox的JavaScript兼容問(wèn)題解決辦法
以下是 我在開發(fā)中遇到的情況:
1、動(dòng)態(tài)刪除table里的某一行。
table:表示table對(duì)象。
k:表示行號(hào)
table.rows[k].removeNode(true); //firefox執(zhí)行失敗,ie執(zhí)行成功
IE與FireFox兼容寫法
table.deleteRow(k);
2、為HTML標(biāo)簽自定義屬性。
inputElement:表示表單元素。
propertyName:表示表單元素下的某個(gè)屬性
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中,沒(méi)有該方法的定義,因此,如果需要調(diào)用該方法,需要自己重定義該方法。
//重寫insertAdjacentElement()方法,因?yàn)閒irefox中沒(méi)有該方法
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語(yǔ)句失效。
在IE里執(zhí)行for循環(huán)語(yǔ)句時(shí)原本使用break可以跳出當(dāng)次循環(huán)。但在FF里面就變成了退出整個(gè)循環(huán)。這時(shí)候改用continue語(yǔ)句即可。
5、firefox報(bào)String contains an invalid character。
var chkBox=document.createElement('<input type="Checkbox" name="treeBox" value= '+key+'>'); //在IE下成功執(zhí)行
IE與FireFox兼容寫法
firefox不支持這種createElement的定義方式,需要分步進(jìn)行:
var chkBox = document.createElement('input');
chkBox.name = "treeBox";
chkBox.type = "checkbox";
chkBox.value = key;
6、table 對(duì)象的 (表格行)對(duì)象的集合
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里的問(wèn)題
var today = new date();
var year = today.getYear();
在 Firefox 里面 getYear 返回的是 "當(dāng)前年份-1900" 的值 IE里面則:
當(dāng)today的年份小于2000的時(shí)候,和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)格,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07JS操作字符串轉(zhuǎn)換為數(shù)值并取整的代碼
這篇文章主要介紹了JS操作字符串轉(zhuǎn)換為數(shù)值并取整的代碼,代碼比較短,需要的朋友可以參考下2014-01-01javascript實(shí)現(xiàn)消滅星星小游戲簡(jiǎn)單版
消滅星星是一款經(jīng)典的益智手游,單位里看到同事天天在手機(jī)上玩的游戲,現(xiàn)在也有web版了,出于業(yè)余愛好,自己嘗試用javascript實(shí)現(xiàn)了下,就是略簡(jiǎn)單了點(diǎn),文中給出了完整的實(shí)例代碼,大家可以自行完善??!下面來(lái)一起看看吧。2016-11-11事件綁定之小測(cè)試 onclick && addEventListener
昨晚回去后,和雷子討論如何才能“檢測(cè)”到頁(yè)面上某個(gè)元素都綁定了哪些事件監(jiān)聽函數(shù),第一感覺(jué)就是應(yīng)該從瀏覽器入手,比如FF,或者Chrome等2011-07-07js調(diào)用打印機(jī)打印網(wǎng)頁(yè)字體總是縮小一號(hào)的解決方法
直接調(diào)用window.print(),但是打印出來(lái)后,字體總是縮小一號(hào),后來(lái)直接target="_blank",就可以正常打印了,下面是實(shí)現(xiàn)代碼2014-01-01Layui 帶多選框表格監(jiān)聽事件以及按鈕自動(dòng)點(diǎn)擊寫法實(shí)例
今天小編就為大家分享一篇Layui 帶多選框表格監(jiān)聽事件以及按鈕自動(dòng)點(diǎn)擊寫法實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09JavaScript實(shí)現(xiàn)頁(yè)面中錄音功能的方法
這篇文章主要給大家介紹了關(guān)于JavaScript實(shí)現(xiàn)頁(yè)面中錄音功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06