关于 DOM 操作的几个类型
XML與HTML相似,但兩者是有區別。XML和HTML都來自于SGML,它們都含有標記,有著相似的語法,HTML和XML的最大區別在 于:HTML是一個定型的標記語言,用固定的標記來描述和顯示數據,比如
表示首行標題,有固定的尺寸;而XML沒有固定的標記,只能通過自定義的標記來描述數據的形式和結構,而不能顯示。HTML是將數據 和顯示混在一起,而XML則是將數據和顯示分開來。那為什么能使用DOM訪問和操作HTML文檔(即網頁)呢?Web語義化的一個發展方向是將HTML逐 漸演變為更有語義、能將數據內容與現實分離的XML,但HTML不可能立即演變為XML,目前推薦使用的是一個過渡產物——XHTML。HTML與 XHTML網頁形成的節點樹(統稱為HTML節點樹)在結構上與XML節點樹一樣,可以看做是一個符合DOM的XML文檔,因此可以使用實現了DOM的程 序語言(如JavaScript、C#等)來訪問和操作HTML文檔,即訪問和操作那些節點。
由于HTML與XML的相似性及差異,JavaScript不僅實現了標準的DOM方法和屬性(即由W3C制定的),而且還實現了HTML特有的DOM方法和屬性,前者稱為DOM Core,并不專屬于JavaScript,后者稱為HTML-DOM。不管是DOM Core還是HTML-DOM,我們在使用JavaScript的時候要注意瀏覽器之間的兼容性,因為不同的瀏覽器對這兩類方法和屬性的支持可能不一樣。 這里不詳談DOM Core和HTML-DOM,以及跨瀏覽器兼容性,教材上都有詳細描述。但一般推薦使用DOM Core方法和屬性,盡管稍顯繁雜。
一般來說,DOM操作分為3個方面,即DOM Core(核心)、HTML-DOM和CSS-DOM。
DOM Core
DOM Core并不專屬于JavaScript,任何一種支持DOM的程序設計語言都可以使用它。它的用途并非僅限于處理網頁,也可以用來處理任何一種使用標記語言編寫出來的文檔,例如XML。
JavaScript中的getElmentByld()、getElementsByTagName()、getAttribute()和setAttribute()等方法,這些都是DOM Core的組成部分。
例如:
使用DOM Core來獲取表單對象的方法:
document.getElementsByTagName("form");
使用DOM Core來獲取某元素的src屬性的方法:
element.getAttribute("src");
HTML-DOM
在使用JavaScript和DOM為HTML文件編寫腳本時,有許多專屬于HTML-DOM的屬性。HTML-DOM的出現甚至比DOM Core還要早,它提供了一些更簡明的記號來描述各種HTML元素的屬性。
例如:
使用HTML-DOM來獲取表單對象的方法:
document.forms //HTML-DOM提供了一個forms對象
使用HTML-DOM來獲取某元素的src屬性的方法:
element.src;
通過上面所說的方法,可以發現獲取某些對象、屬性既可以用DOM Core來實現,也可以使用HTML-DOM實現。相比較而言HTML-DOM的代碼通常比較簡短,不過它只能用來處理Web文檔。
CSS-DOM
CSS-DOM是針對CSS的操作。在JavaScript中,CSS-DOM技術的主要作用是獲取和設置style對象的各種屬性。通過改變style對象的各種屬性,可以使網頁呈現出各種不同的效果。
例如:設置某元素style對象字體顏色的方法:
element.style.color = "blue";
jQuery作為JavaScript庫,繼承并發揚了JavaScript對DOM對象的操作的特性,使開發人員能方便地操作DOM對象總結
以上是生活随笔為你收集整理的关于 DOM 操作的几个类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery中slice()方法用法实例
- 下一篇: jQuery属性操作