区别:DOM Core 与 HTML-DOM
DOM(文檔對象模型)是由W3C制定的一套訪問和操作XML(eXtensible Markup Language)文檔的標準,即API。比如DOM告訴JavaScript引擎如何在瀏覽器窗口中顯示和操作XML創建的標記(Tag)。
DOM與特定的平臺、瀏覽器、語言無關,很多種語言都實現了DOM,比如因為JavaScript和PHP都實現了DOM,所以 JavaScript中有getElementsByTagName()方法,PHP中也有 getElementsByTagName(),getElementsByTagName()方法是DOM規定的訪問XML文檔的接口。
XML與HTML相似,但兩者是有區別。XML和HTML都來自于SGML,它們都含有標記,有著相似的語法,HTML和XML的最大區別在 于:HTML是一個定型的標記語言,用固定的標記來描述和顯示數據,比如
<h1>表示首行標題,有固定的尺寸;而XML沒有固定的標記,只能通過自定義的標記來描述數據的形式和結構,而不能顯示。HTML是將數據 和顯示混在一起,而XML則是將數據和顯示分開來。那為什么能使用DOM訪問和操作HTML文檔(即網頁)呢?Web語義化的一個發展方向是將HTML逐 漸演變為更有語義、能將數據內容與現實分離的XML,但HTML不可能立即演變為XML,目前推薦使用的是一個過渡產物——XHTML。HTML與 XHTML網頁形成的節點樹(統稱為HTML節點樹)在結構上與XML節點樹一樣,可以看做是一個符合DOM的XML文檔,因此可以使用實現了DOM的程 序語言(如JavaScript、PHP等)來訪問和操作HTML文檔,即訪問和操作那些節點。
由于HTML與XML的相似性及差異,JavaScript不僅實現了標準的DOM方法和屬性(即由W3C制定的),而且還實現了HTML特有的 DOM方法和屬性,前者稱為DOM Core,并不專屬于JavaScript,后者稱為HTML-DOM。不管是DOM Core還是HTML-DOM,我們在使用JavaScript的時候要注意瀏覽器之間的兼容性,因為不同的瀏覽器對這兩類方法和屬性的支持可能不一樣。 這里不詳談DOM Core和HTML-DOM,以及跨瀏覽器兼容性,教材上都有詳細描述。但一般推薦使用DOM Core方法和屬性,盡管稍顯繁雜。
常見的Core DOM方法如下:
1、創建節點
createElement()
createTextNode()
2、復制節點
cloneNode()
3、插入節點
appendChild()
insertBefore()
4、刪除節點
removeChild()
5、替換節點
replaceChild()
6、查找和設置節點屬性
setAttribute()
getAttribute()
7、查找節點
getElementById()
getElementsByTagName()
hasChildNode()
常見的Core DOM屬性如下:
node.childNodes
node.firstChild
node.lastChild
node.nextSibling
node.previousSibling
node.parentNode
總結
以上是生活随笔為你收集整理的区别:DOM Core 与 HTML-DOM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML DOM Table 对象
- 下一篇: 使用DOM操纵HTML文档几点粗浅认识