摘要:是的標準所有瀏覽器公共遵守的標準是各個瀏覽器廠商根據(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
摘要:它是輕量級的,與特定于瀏覽器的實現(xiàn)細節(jié)分離。由于本身已經(jīng)是抽象,因此虛擬實際上是抽象的抽象。它允許在這個抽象的世界中進行計算,并跳過真正的那些緩慢的操作。 前言 目前主流的前端框架React和Vue中都用到了Virtual DOM這個技術(shù),而Virtual DOM到底是什么,可能很多人和我一樣,概念上還是模糊。本文主要介紹DOM和Virtual DOM的基本概念及個人理解。 以下的D...
摘要:它是輕量級的,與特定于瀏覽器的實現(xiàn)細節(jié)分離。由于本身已經(jīng)是抽象,因此虛擬實際上是抽象的抽象。它允許在這個抽象的世界中進行計算,并跳過真正的那些緩慢的操作。 前言 目前主流的前端框架React和Vue中都用到了Virtual DOM這個技術(shù),而Virtual DOM到底是什么,可能很多人和我一樣,概念上還是模糊。本文主要介紹DOM和Virtual DOM的基本概念及個人理解。 以下的D...
摘要:為此也做了一些學習簡單的侃一侃虛擬到底是什么虛擬詳解二什么是虛擬虛擬首次產(chǎn)生是框架最先提出和使用的,其卓越的性能很快得到廣大開發(fā)者的認可,繼之后也在其核心引入了虛擬的概念。所謂的虛擬到底是什么也就是通過語言來描述一段代碼。 隨著Vue和React的風聲水起,伴隨著諸多框架的成長,虛擬DOM漸漸成了我們經(jīng)常議論和討論的話題。什么是虛擬DOM,虛擬DOM是如何渲染的,那么Vue的虛擬Dom...
閱讀 3128·2023-04-25 15:02
閱讀 2835·2021-11-23 09:51
閱讀 2046·2021-09-27 13:47
閱讀 2003·2021-09-13 10:33
閱讀 987·2019-08-30 15:54
閱讀 2651·2019-08-30 15:53
閱讀 2868·2019-08-29 13:58
閱讀 901·2019-08-29 13:54