摘要:分為以下兩個階段處理文檔瀏覽器將和轉(zhuǎn)化成文檔對象模型。在計算機(jī)內(nèi)存中表示文檔。它把文檔內(nèi)容和其樣式結(jié)合在一起。瀏覽器顯示的內(nèi)容。這些節(jié)點由他們與其他節(jié)點的關(guān)系來定義。如何操作由于和轉(zhuǎn)化成了樹,要改變的結(jié)構(gòu),就需要通過來操作。
前言
DOM常常掛在我們嘴邊,但是我們又是否理解它呢?帶著這個疑問我開始了
CSS如何工作?但瀏覽器顯示文檔時,它必須將文檔的內(nèi)容與其樣式信息結(jié)合。分為以下兩個階段處理文檔:
瀏覽器將HTML和CSS轉(zhuǎn)化成DOM(文檔對象模型)。DOM在計算機(jī)內(nèi)存中表示文檔。它把文檔內(nèi)容和其樣式結(jié)合在一起。
瀏覽器顯示DOM的內(nèi)容。
關(guān)于DOMDOM是一種樹形結(jié)構(gòu)。標(biāo)記語言中的每個元素、屬性、文本片段都變?yōu)橐粋€DOM節(jié)點。這些節(jié)點由他們與其他DOM節(jié)點的關(guān)系來定義。
如何操作DOM由于HTML和CSS轉(zhuǎn)化成了DOM樹,要改變HTML的結(jié)構(gòu),就需要通過javascript來操作DOM。
操作一個DOM節(jié)點有如下幾個操作:
更新:更新該節(jié)點表示的HTML內(nèi)容
遍歷:遍歷該節(jié)點下的子節(jié)點,然后可以按需操作
添加:在改DOM節(jié)點下動態(tài)增加一個HTML子節(jié)點
刪除:把該節(jié)點從HTML中刪除,刪除內(nèi)容包括幾點內(nèi)容和其下面子節(jié)點內(nèi)容
操作代碼var test = document.getElementById("test"); var tr = document.getElementsByTagName("tr");//返回DOM數(shù)組 var test_tr = test.getElementsByTagName("tr");//返回DOM數(shù)組 var class_tr = document.getElementsByClassName("tr_class");//返回DOM數(shù)組 var test_parent = test.parentElement; var test_parent = test.parentNode; var next_el = test.nextElementSibling; var previous_el = test.previousElementSibling; var test_child = test.children; var test_first_child = test.firstElementChild; var test_last_child = test.lastElementChild; //新方法低版本IE<8不支持 var test = document.querySelector("#test"); var tr = document.querySelectorAll("#test tr");//返回的是DOM數(shù)組
var el = document.createElement("div");//標(biāo)簽 var node_txt = document.createTextNode("hell world");//HTML屬性
// 添加、刪除子元素 test.appendChild(el); test.removeChild(el); // 替換子元素 test.replaceChild(el1, el2); // 插入子元素 var el3 = document.createElement("p"); test.insertBefore(el3, el);
// 獲取一個{name, value}的數(shù)組 var attrs = test.attributes; // 獲取、設(shè)置屬性 var className = test.getAttribute("class"); test.setAttribute("class", "test_class"); // 判斷、移除屬性 test.hasAttribute("class"); test.removeAttribute("class"); // 是否有屬性設(shè)置 test.hasAttributes();思考
vue.js、handlebar.js、react.js等等,DOM操作實質(zhì)是什么?有什么區(qū)別?哪個速度更快性能根好,為什么?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/84423.html
摘要:分為以下兩個階段處理文檔瀏覽器將和轉(zhuǎn)化成文檔對象模型。在計算機(jī)內(nèi)存中表示文檔。它把文檔內(nèi)容和其樣式結(jié)合在一起。瀏覽器顯示的內(nèi)容。這些節(jié)點由他們與其他節(jié)點的關(guān)系來定義。如何操作由于和轉(zhuǎn)化成了樹,要改變的結(jié)構(gòu),就需要通過來操作。 前言 DOM常常掛在我們嘴邊,但是我們又是否理解它呢?帶著這個疑問我開始了 CSS如何工作? 但瀏覽器顯示文檔時,它必須將文檔的內(nèi)容與其樣式信息結(jié)合。分為以下兩個...
摘要:分為以下兩個階段處理文檔瀏覽器將和轉(zhuǎn)化成文檔對象模型。在計算機(jī)內(nèi)存中表示文檔。它把文檔內(nèi)容和其樣式結(jié)合在一起。瀏覽器顯示的內(nèi)容。這些節(jié)點由他們與其他節(jié)點的關(guān)系來定義。如何操作由于和轉(zhuǎn)化成了樹,要改變的結(jié)構(gòu),就需要通過來操作。 前言 DOM常常掛在我們嘴邊,但是我們又是否理解它呢?帶著這個疑問我開始了 CSS如何工作? 但瀏覽器顯示文檔時,它必須將文檔的內(nèi)容與其樣式信息結(jié)合。分為以下兩個...
摘要:是我寫的嗎還是我偶爾打開控制臺檢查元素的時候點擊的元素說實話,我花了好長時間才弄明白究竟是什么。什么簡單來說,是在瀏覽器中的表示形式,允許您操縱頁面。那么為什么它經(jīng)常被稱為樹呢這是因為從一個父項開始,該父項擴(kuò)展為子項。 原文自工程師Kara Luton博客,傳送門 DOM,當(dāng)我第一次在訓(xùn)練營學(xué)習(xí)編碼時,就一直聽到這個詞,但是我從來不知道它到底是什么意思。是我寫的HTML嗎?還是我偶爾...
摘要:是我寫的嗎還是我偶爾打開控制臺檢查元素的時候點擊的元素說實話,我花了好長時間才弄明白究竟是什么。什么簡單來說,是在瀏覽器中的表示形式,允許您操縱頁面。那么為什么它經(jīng)常被稱為樹呢這是因為從一個父項開始,該父項擴(kuò)展為子項。 原文自工程師Kara Luton博客,傳送門 DOM,當(dāng)我第一次在訓(xùn)練營學(xué)習(xí)編碼時,就一直聽到這個詞,但是我從來不知道它到底是什么意思。是我寫的HTML嗎?還是我偶爾...
閱讀 4006·2023-04-26 02:13
閱讀 2249·2021-11-08 13:13
閱讀 2737·2021-10-11 10:59
閱讀 1737·2021-09-03 00:23
閱讀 1308·2019-08-30 15:53
閱讀 2285·2019-08-28 18:22
閱讀 3058·2019-08-26 10:45
閱讀 735·2019-08-23 17:58