摘要:對象包含下列屬性返回整條規則對應的文本包括選擇符和花括號返回當前規則的選擇符一個對象返回規則中所有的樣式當前規則所屬的樣式表表示規則類型的常量值。從文檔中分離解除引用推薦在使用完范圍后再執行上述兩個步驟。
一、DOM的變化 (一)針對xml命名空間的變化DOM1級主要定義了HTML和XML文檔的底層結構,DOM2和DOM3則在DOM1的基礎上引入了更多的交互功能,支持了更高級的XML特性。DOM2和DOM3分為許多模塊(模塊之間具有某種聯系),這些模塊如下:
DOM2級核心:在1級核心基礎上,為節點添加了更多方法和屬性。
DOM2級視圖:為文檔定義了基于樣式信息的不同視圖
DOM2級HTML:在1級HTML基礎上構建,添加了更多屬性、方法和新接口
DOM2級樣式:定義了如何以編程方式來訪問和改變CSS樣式信息
DOM2級遍歷和范圍:引入了遍歷DOM文檔和選擇其特定部分的新接口
DOM2級事件:說明了如何以編程方式來訪問和改變CSS樣式
DOM3級XPath
DOM3級加載與保存
有了XML命名空間,不同XML文檔的元素就可以混合在一起,共同構成格式良好的文檔,而不必擔心發生命名沖突。從技術上說,HTML不支持XML命名空間,但XHTML支持XML命名空間。
在此,先不討論針對xml命名空間的變化,后續有需要再進行更新。
(二)其他方面的變化其他方面的變化與XML命名空間無關,這些變化是為了確保API的可靠性及完整性
1、DocumentType類型的變化DocumentType類型新增了3個屬性(在網頁中很少需要使用以下三個屬性訪問此類信息):
publicId
systemId
internalSubset
2、Document類型的變化 3、Node類型的變化 4、框架的變化 二、樣式 (一)訪問元素的樣式 1、DOM style屬性的屬性和方法DOM2級樣式規范為style對象定義了一些屬性和方法:
cssText:返回style屬性中的CSS代碼
length:HTML元素的style屬性中包含的CSS屬性的個數
item(index):
getPropertyValue(propertyName)
getPropertyCSSValue(propertyName):返回一個CSSValue(實際開發中用得很少)
getPropertyPriority(propertyName):若屬性使用了!important設置,則返回"!important";否則,返回空字符串
removeProperty(propertyName)
setProperty(propertyName,value,priority):參數priority的取值為"!important"或空字符串
parentRule:表示CSS信息的CSSRule對象
2、計算的樣式元素的style對象只包含通過style屬性設置的樣式信息,不包含其他樣式表中的信息。為了得到應用在當前元素的所有樣式,DOM2級增加了document.defaultView屬性,并為該屬性提供了getComputedStyle()方法。
語法:document.default.getComputedStyle(要取得樣式的元素, 偽元素字符串)(偽元素字符串如:":after",若不需要偽元素信息,則該參數為null)
getComputedStyle()返回一個CSSStyleDeclaration對象,包含應用在當前元素的所有樣式。
var div = document.getElementById("#myDiv"); var computedStyle = document.defaultView.getComputedSytle(div,null);
IE不支持getComputedStyle(),但它為每個支持style屬性的元素指定了currentStyle屬性,這個屬性返回一個CSSStyleDeclaration對象。
var div = document.getElementById("#myDiv"); var computedStyle = div.currentStyle;(二)操作樣式表
可以用CSSStyleSheet類型來表示樣式表,它包括元素包含的樣式表和