日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

[置顶]       IE与FireFox的JavaScript兼容问题

發布時間:2025/3/15 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [置顶]       IE与FireFox的JavaScript兼容问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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中,沒有該方法的定義,因此,如果需要調用該方法,需要自己重定義該方法。

[javascript]?view plaincopyprint?
  • //重寫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的定義方式,需要分步進行:

    [javascript]?view plaincopyprint?
  • var?chkBox?=?document.createElement('input');??
  • chkBox.name?=?"treeBox";??
  • chkBox.type?=?"checkbox";??
  • ??
  • hkBox.value?=?key;??
  • ?

    6、table?對象的 (表格行)對象的集合
    bdList.rows(k).cells(0).innerHTML = "<a>aaa</a>";//firefox執行失敗,ie執行成功

    IE與FireFox兼容寫法

    [javascript]?view plaincopyprint?
  • 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兼容寫法

    [javascript]?view plaincopyprint?
  • var?today?=?new?date();???
  • var?year?=?today.getFullYear(); ??
  • 轉載于:https://blog.51cto.com/3001448/1206054

    總結

    以上是生活随笔為你收集整理的[置顶]       IE与FireFox的JavaScript兼容问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。