成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

DOM;

joyvw / 1345人閱讀

摘要:是的標準所有瀏覽器公共遵守的標準是各個瀏覽器廠商根據(jù)在各自瀏覽器上的實現(xiàn)表現(xiàn)為不同瀏覽器定義有差別實現(xiàn)方式不同是對象,而非對象節(jié)點節(jié)點分為兩個文本節(jié)點和元素節(jié)點子節(jié)點是文本節(jié)點和元素節(jié)點都計算的假設(shè)我們用給加背景顏色,就會報錯,因為文本的節(jié)

DOM 是 W3C 的標準; [所有瀏覽器公共遵守的標準]

BOM 是 各個瀏覽器廠商根據(jù) DOM
在各自瀏覽器上的實現(xiàn);[表現(xiàn)為不同瀏覽器定義有差別,實現(xiàn)方式不同]

window 是 BOM 對象,而非 js 對象;

DOM節(jié)點
節(jié)點分為兩個:文本節(jié)點和元素節(jié)點;
子節(jié)點:

      childNodes是文本節(jié)點和元素節(jié)點都計算的;
      假設(shè)我們用childNodes給li加背景顏色,就會報錯,因為文本的節(jié)點沒有style的;
      可以用nodeType來進行選擇節(jié)點類型;

  window.onload=function() {
   var oUl=document.getElementById("ul1")
   for (var  i=0;i文本節(jié)點
       //當彈窗 nodeType=1  ->元素節(jié)點
       if(oUl.childNodes[i].nodeType==1) {
           oUl.childNodes[i].style.background="red";
       }
   }

}

nodeType==3 –> 是文本節(jié)點;nodeType==1–> 是元素節(jié)點;
我們只需元素的節(jié)點就可以了,可以用if的語言來判斷.

children:

如果不這么用,也可以用children:
這不需要處理文本節(jié)點和元素節(jié)點;僅僅會計算元素節(jié)點;
子節(jié)點只計算一層,子節(jié)點里面包含的內(nèi)部子節(jié)點是不計算的;

父節(jié)點:

parentNode 可返回某節(jié)點的父節(jié)點(獲取的是結(jié)構(gòu)上的父級);

offsetParent 距離該子元素最近的進行過定位的父元素;

首位子節(jié)點:

firstChild;//兼容IE
firstElementChild;//兼容FF
解決辦法:
      1): if判斷瀏覽器; 
      2): var oFirst = oUl.firstChild||oUl.firstElementChild;
      lastChild;//兼容IE
      lastElementChild;//兼容FF
      解決辦法同上;

兄弟節(jié)點:

  nextSibling;//兼容IE
  nextElementSibling;//兼容FF
  解決辦法:
      1): if判斷瀏覽器;
      2): var oFirst = oUl.nextSibling||oUl.nextElementSibling;
      previousSibling;//兼容IE
      previousElementSibling;//兼容FF
      解決辦法同上;   

DOM方式操作元素屬性:

   getAttribute(名稱);//獲取元素屬性;
   setAttribute(名稱,值);//設(shè)置元素屬性;
   removeAttribute(名稱);//刪除元素屬性;
   用className選擇元素:
   
          function getByClass(oParent,sClass){
           var aEle = oParent.getElementsByTagName("*");
           var aResult=[];
   
            for (var i = 0; i < aEle.length; i++) {
                if(aEle[i].className==sClass){
                   aResult.push(aEle[i]);
                }
            };
            return aResult;
       }
   
       window.onload=function(){
           var oUl = document.getElementById("ul1");
           var oBox = getByClass(oUl,"box");
   
           for (var i = 0; i < oBox.length; i++) {
               oBox[i].style.background="red";
           };
       }



文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90169.html

相關(guān)文章

  • 前端抽象世界之DOM與Virtual DOM

    摘要:它是輕量級的,與特定于瀏覽器的實現(xiàn)細節(jié)分離。由于本身已經(jīng)是抽象,因此虛擬實際上是抽象的抽象。它允許在這個抽象的世界中進行計算,并跳過真正的那些緩慢的操作。 前言 目前主流的前端框架React和Vue中都用到了Virtual DOM這個技術(shù),而Virtual DOM到底是什么,可能很多人和我一樣,概念上還是模糊。本文主要介紹DOM和Virtual DOM的基本概念及個人理解。 以下的D...

    plokmju88 評論0 收藏0
  • 前端抽象世界之DOM與Virtual DOM

    摘要:它是輕量級的,與特定于瀏覽器的實現(xiàn)細節(jié)分離。由于本身已經(jīng)是抽象,因此虛擬實際上是抽象的抽象。它允許在這個抽象的世界中進行計算,并跳過真正的那些緩慢的操作。 前言 目前主流的前端框架React和Vue中都用到了Virtual DOM這個技術(shù),而Virtual DOM到底是什么,可能很多人和我一樣,概念上還是模糊。本文主要介紹DOM和Virtual DOM的基本概念及個人理解。 以下的D...

    joy968 評論0 收藏0
  • 虛擬DOM

    摘要:什么是虛擬舉例說明如果網(wǎng)頁中有一個表格,表頭是姓名,年級,分數(shù)。即我們用虛擬的結(jié)構(gòu)替換需要處理的結(jié)構(gòu),對虛擬的進行操作之后再進行渲染,就成為了真實的數(shù)據(jù)。當狀態(tài)變更的時候用修改后的新渲染的的對象和舊的虛擬對象作對比,記錄著兩棵樹的差異。 虛擬DOM 可以看看這個文章如何理解虛擬DOM? - 戴嘉華的回答 - 知乎 https://www.zhihu.com/questio... 深度剖...

    yanwei 評論0 收藏0
  • 虛擬DOM

    摘要:什么是虛擬舉例說明如果網(wǎng)頁中有一個表格,表頭是姓名,年級,分數(shù)。即我們用虛擬的結(jié)構(gòu)替換需要處理的結(jié)構(gòu),對虛擬的進行操作之后再進行渲染,就成為了真實的數(shù)據(jù)。當狀態(tài)變更的時候用修改后的新渲染的的對象和舊的虛擬對象作對比,記錄著兩棵樹的差異。 虛擬DOM 可以看看這個文章如何理解虛擬DOM? - 戴嘉華的回答 - 知乎 https://www.zhihu.com/questio... 深度剖...

    alin 評論0 收藏0
  • 虛擬Dom詳解 - (一)

    摘要:為此也做了一些學習簡單的侃一侃虛擬到底是什么虛擬詳解二什么是虛擬虛擬首次產(chǎn)生是框架最先提出和使用的,其卓越的性能很快得到廣大開發(fā)者的認可,繼之后也在其核心引入了虛擬的概念。所謂的虛擬到底是什么也就是通過語言來描述一段代碼。 隨著Vue和React的風聲水起,伴隨著諸多框架的成長,虛擬DOM漸漸成了我們經(jīng)常議論和討論的話題。什么是虛擬DOM,虛擬DOM是如何渲染的,那么Vue的虛擬Dom...

    ashe 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<