eric-1001c

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            3 隨筆 :: 45 文章 :: 12 評(píng)論 :: 0 Trackbacks
          W3C針對(duì)XHTML以及HTML開發(fā)一種DOM,這個(gè)DOM是基于HTMLElement和HTMLDocument實(shí)現(xiàn)的。除了少數(shù)元素只包含HTMLElement屬性和方法外,每個(gè)HTML元素都通過特定的HTMLElement類型表示。然而并不是所以瀏覽器對(duì)DOM都支持的,下面列出了一些經(jīng)常會(huì)遇到的不兼容的DOM使用問題。

          1.childNodes
          不同瀏覽器使用childNodes在處理Text節(jié)點(diǎn)存在一些差異。Mozilla認(rèn)為元素之間的空白是Text節(jié)點(diǎn);而IE,會(huì)忽略這些空白。可以通過判斷childNodes[x].nodeValue == "#text",childNodes[x].nodeType == 1解決這個(gè)問題;或者使用children屬性,children屬性是一個(gè)數(shù)組,可以通過索引獲取子節(jié)點(diǎn);

          2.document
          IE使用document.all,而使用dom標(biāo)準(zhǔn)的瀏覽可以通過document.getElementsByTagName("*") ;

          3.Id&getElementById
          在IE中可以把Id當(dāng)作元素使用,但在其他瀏覽器不支持。因此建議使用getElementById,getElementById在IE6中使用,如果元素Name等于Id,也會(huì)一同返回;

          4.集合數(shù)組
          IE中在使用集合類對(duì)象時(shí)候,訪問可以通過()[]。建議同一使用[]dom標(biāo)準(zhǔn)訪問;

          5.body對(duì)象
          IEbody對(duì)象要在<body>標(biāo)簽完全讀入才會(huì)存在,而在FireFox中一開始就存在

          6.Type屬性
          IEinput標(biāo)簽的type屬性是只讀的,但在FireFox中是可讀寫的;

          7.removeNodes/removeChild
          在FireFox節(jié)點(diǎn)中沒有removeNode方法,必須使用如下方法 node.parentNode.removeChild(node)

          8.ParentNode
          IE與FireFox的訪問父元素有區(qū)別,IE為Obj.ParentElement屬性;FireFox為Obj.ParentNode屬性解決辦法:因?yàn)镕ireFox與IE都支持DOM,因此統(tǒng)一用ParentNode屬性

          9.set/getAttribute
          IE的setAttribute不能設(shè)置對(duì)象屬性、事件屬性和style相關(guān)的屬性,對(duì)于自定義的可以設(shè)置;要注意在FF中,通過自定義設(shè)置的屬性和通過.方法設(shè)置的屬性不是同一個(gè)屬性;

          10.自定義屬性
          在FF中不支持像IE那樣直接獲取,建議統(tǒng)一用getAttribute方法;

          11.class/className
          IE中用”classname”做為屬性名來設(shè)置或取得css class,F(xiàn)F和其它瀏覽器用”class”做為屬性名來設(shè)置或取得,Dom標(biāo)準(zhǔn)的node object具有className屬性

          12.Range
          在IE中有document.selection.createRange(),document.body[button|input].createTextRange();而在FF中可以通過document.getSelection()[.getRangeAt(0)];而對(duì)Range的操作中,除了IE和DOM標(biāo)準(zhǔn)的各種move外,F(xiàn)F中的node element還有selectionStart,selectionEnd只讀屬性


          posted on 2009-10-17 16:52 Eric-1001c 閱讀(458) 評(píng)論(0)  編輯  收藏 所屬分類: JavaScript

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 平定县| 肇东市| 太谷县| 闽侯县| 吕梁市| 姜堰市| 北宁市| 烟台市| 如东县| 靖州| 宜川县| 大悟县| 安丘市| 黄大仙区| 德令哈市| 绵阳市| 曲阳县| 喀什市| 徐州市| 津市市| 车致| 浦城县| 壤塘县| 安乡县| 江津市| 乌恰县| 车致| 涞水县| 闸北区| 新余市| 平潭县| 湖北省| 盈江县| 涞水县| 永济市| 呼图壁县| 天祝| 和政县| 宁阳县| 盱眙县| 平定县|