IE與FireFox的JavaScript兼容問(wèn)題解決辦法
以下是 我在開(kāi)發(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)文章
JavaScript數(shù)字?jǐn)?shù)組的13個(gè)實(shí)用小技巧
數(shù)組是JS最常見(jiàn)的一種數(shù)據(jù)結(jié)構(gòu),咱們?cè)陂_(kāi)發(fā)中也經(jīng)常用到,在這篇文章中,提供一些小技巧,幫助咱們提高開(kāi)發(fā)效率,這篇文章主要給大家分享介紹了關(guān)于JavaScript數(shù)字?jǐn)?shù)組的13個(gè)實(shí)用小技巧,需要的朋友可以參考下2023-11-11
JavaScript實(shí)現(xiàn)非常簡(jiǎn)單實(shí)用的下拉菜單效果
這篇文章主要介紹了JavaScript實(shí)現(xiàn)非常簡(jiǎn)單實(shí)用的下拉菜單效果,通過(guò)定義顯示及隱藏菜單項(xiàng)及鼠標(biāo)事件調(diào)用該函數(shù)實(shí)現(xiàn)下拉菜單功能,需要的朋友可以參考下2015-08-08
js實(shí)現(xiàn)同一頁(yè)面多個(gè)運(yùn)動(dòng)效果的方法
這篇文章主要介紹了js實(shí)現(xiàn)同一頁(yè)面多個(gè)運(yùn)動(dòng)效果的方法,涉及javascript操作頁(yè)面元素運(yùn)動(dòng)效果的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
Javascript Tab 導(dǎo)航插件 (23個(gè))
實(shí)現(xiàn)tab頁(yè)很多方法,有一些是用純CSS實(shí)現(xiàn),其他大多數(shù)是基于jquery、mootools或者其他js框架實(shí)現(xiàn),既然有這么多可以拿來(lái)即用的插件,又何苦重復(fù)造輪子。2009-06-06
Bootstrap modal 多彈窗之疊加關(guān)閉陰影遮罩問(wèn)題的解決方法
這里也會(huì)遇到一次性關(guān)閉所有modal引起陰影遮罩的問(wèn)題,也就是所有modal都關(guān)閉了,但是主頁(yè)面仍然被陰影遮罩。下面通過(guò)本文給大家分享解決方案,需要的朋友參考下吧2017-02-02
JavaScript日期庫(kù)date-fn.js使用方法解析
這篇文章主要介紹了JavaScript日期庫(kù)date-fn.js使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09

