上已經收錄,文章的已分類,也整理了很多我的文件,和教程資料。
**文件物件模型(dom)**是乙個將html或xml文件視為樹形結構的介面,其中每個節點都是文件的乙個物件。dom還提供了一組方法來查詢樹、改變結構、樣式。
dom 還使用術語元素(element)它與節點非常相似。那麼,dom節點和元素之間有什麼區別呢?
理解節點和元素之間區別的關鍵是理解節點是什麼。
更高的角度來看,dom文件由節點層次結構組成。 每個節點可以具有父級和/或子級。
看看下面的html文件:
thank you for visiting my web page!
該文件包含以下節點層次結構:
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-l241ebzj-1611015713496)(/img/bvcnow7)]
是文件樹中的乙個節點。它有2個子節點:
和
。
子有3個子節點的節點:注釋節點
,標題
掌握了dom節點的知識之後,現在該區分dom節點和元素了。
如果你了解節點術語,那麼答案是顯而易見的:元素是特定型別的節點element (node.element_node),以及文件、注釋、文字等型別。
簡而言之,元素是使用html文件中的標記編寫的節點。,
,
,
,
除了區分節點和元素之外,還需要區分只包含節點或只包含元素的dom屬性。
節點型別的以下屬性評估為乙個節點或節點集合(nodelist):
node.parentnode; // node or null
node.firstchild; // node or null
node.lastchild; // node or null
node.childnodes; // nodelist
但是,以下屬性是元素或元素集合(htmlcollection
):
node.parentelement; // htmlelement or null
node.children; // htmlcollection
由於node.childnodes
和node.children都返回子級列表,因此為什麼要同時具有這兩個屬性? 好問題!
考慮以下包含某些文字的段落元素:
thank youfor visiting my web page!
開啟演示,然後檢視parapgraph節點的childnodes
和children
屬性:
const paragraph = document.queryselector('p');
paragraph.childnodes; // nodelist: [htmlelement, text]
paragraph.children; // htmlcollection: [htmlelement]
paragraph.childnodes
集合包含2個節點:thank you
,,以及for visiting my web page!
文字節點!
但是,paragraph.children
集合僅包含1個專案:thank you
。
由於paragraph.children
僅包含元素,因此此處未包含文字節點,因為其型別是文字(node.text_node
),而不是元素(node.element_node
)。
同時擁有node.childnodes
和node.children
,我們可以選擇要訪問的子級集合:所有子級節點或僅子級是元素。
dom文件是節點的分層集合,每個節點可以具有父級和/或子級。如果了解節點是什麼,那麼了解dom節點和元素之間的區別就很容易。
節點有型別,元素型別就是其中之一,元素由html文件中的標記表示。
完~ 我是小智,我要去刷碗了,我們下期再見!
**部署後可能存在的bug沒法實時知道,事後為了解決這些bug,花了大量的時間進行log 除錯,這邊順便給大家推薦乙個好用的bug監控工具 fundebug。
原文:
常用的行內元素和塊級元素有哪些及區別?
1.塊級元素,寬度預設是它容器的100 各佔據一行,垂直方向排列 內聯元素,都是同一行,水平方向排列 2.塊級元素,能容納其他塊元素或者內聯元素 內聯元素,只能容納文字或其他內聯元素 3.塊級元素中height,line height以及margin和padding都可以控制 行內元素設定width...
節點物件和元素物件的區別
在看 j ascript 高階程式第3版 dom 一章的時候,對於節點一詞很疑惑,在裡面判斷節點型別的例子中 if somenode.nodetype node.element node 也就是說,如果兩者相等,則意味著 somenode 這個節點是乙個元素,那元素節點和元素是相同的概念嗎?如果是的...
id和class名獲取DOM元素的區別?
1.通過id獲取dom元素的方法 document.getelementbyid id名 2.通過class獲取dom元素的方法 document.getelementsbyclassname class名 document.getelementbyid id名 document.getelemen...