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