摘要:如果不需要偽元素信息,第二個(gè)參數(shù)可以輸操作樣式表類型表示的是樣式表,包括通過(guò)元素包含的樣式表和在元素中定義的樣式表表示樣式表是否被禁用的布爾值。包括元素的高度可見的水平滾動(dòng)條的高度上邊框高度和下邊框高度。顯示處理指令節(jié)點(diǎn)。
DOM2和DOM3 DOM變化 針對(duì)XML命名空間的變化
有了XML命名空間,不同XML文檔的元素就可以混合在一起,共同構(gòu)成格式良好的文檔,而不必?fù)?dān)心發(fā)生命名沖突
Node類型的變化
在DOM2級(jí)中,Node類型包含下列特定于命名空間的屬性
localName,不帶命名空間前綴的節(jié)點(diǎn)名稱
namespaceURI,命名空間URI或者null
prefix,命名空間前綴或者null
DOM3級(jí)更進(jìn)一步,引入下列與命名空間有關(guān)的方法
isDefaultNamespace(namespaceURI),在指定的namespaceURI是當(dāng)前節(jié)點(diǎn)的默認(rèn)命名空間的情況下返回true
lookupNamespaceURI(prefix),返回給定prefix的命名空間
lookupPrefix(namespaceURI),返回給定namespaceURI的前綴
Document類型的變化
DOM2級(jí)的Document類型也發(fā)生了變化,包含下列與命名空間有關(guān)方法
createElementNS(namespaceURI,tagName),使用給定的tagName創(chuàng)建一個(gè)屬于命名空間namespaceURI的新元素
createAttributeNS(namespaceURI,attributeName),使用給定的attributeName創(chuàng)建一個(gè)屬于命名空間namespaceURI的新特性
getElementsByTagNameNS(namespaceURI,tagName),返回屬于命名空間namespaceURI的tagName元素的NodeList
Element類型的變化
DOM2級(jí)核心中有關(guān)Element的變化,主要涉及操作特性
getAttributeNS(namespaceURI,localName),取得命名空間namespaceURI且名為localName的特性
getAttributeNodeNS(namespaceURI,localName),取得屬于命名空間namespaceURI且名為localName的特性節(jié)點(diǎn)
getElementsByTagNameNS(namespaceURI,tagName),返回屬于命名空間namespaceURI的tagName元素的NodeList
hasAttributeNS(namespaceURI,localName),確定當(dāng)前元素是否有一個(gè)名為localName的特性,而且該特性的命名空間是namespaceURI
removeAttributeNS(namespaceURI,localName),刪除屬于命名空間namespaceURI且名為localName的特性
setAttributeNS(namespaceURI,qualifiedName,value),設(shè)置屬于命名空間namespaceURI且名為localName的特性
setAttributeNodeNS(attNode),設(shè)置屬于命名空間namespaceURI的特性節(jié)點(diǎn)
NamedNodeMap類型的變化
新增了與命名空間有關(guān)的方法
getNamedItemNS(namespaceURI,localName),取得屬于命名空間namespaceURI且名為localName的項(xiàng)
removeNamedItemNS(namespaceURI,localName),移除屬于命名空間namespaceURI且名為localName的項(xiàng)
setNamedItemNS(node),添加node,這個(gè)節(jié)點(diǎn)已經(jīng)事先指定了命名空間信息
其他方面的變化
DocumentType類型的變化
新增了3個(gè)屬性,publicId、systemId、internallSubset。前兩個(gè)屬性表示的是文檔類型聲明中的兩個(gè)信息段,這兩個(gè)信息段在DOM1級(jí)中是沒有辦法訪問(wèn)到的。最后一個(gè)屬性internalSubset,用于訪問(wèn)包含在文檔類型聲明中的額外定義
Document類型的變化
與空間無(wú)關(guān)的方法是inportNode(),這個(gè)方法的用途是從一個(gè)文檔中取得一個(gè)節(jié)點(diǎn),然后將其導(dǎo)入到另一個(gè)文檔,使其成為這個(gè)文檔結(jié)構(gòu)的一部分。
Node類型的變化
Node類型與命名空間無(wú)關(guān)的變化,就是添加了isSupported()方法,與DOM1級(jí)為document.implementation引入的hasFeature()方法類似,isSupported()方法用于確定當(dāng)前節(jié)點(diǎn)具有什么能力,這個(gè)方法接收兩個(gè)參數(shù),特性名和特性版本號(hào)
DOM3級(jí)引入了兩個(gè)輔助比較節(jié)點(diǎn)的方法,isSameNode()和isEqualNode()。這兩個(gè)方法都接收一個(gè)節(jié)點(diǎn)參數(shù),并在傳入節(jié)點(diǎn)與引用的節(jié)點(diǎn)相同或相等時(shí)返回true
框架的變化
框架和內(nèi)嵌框架分別用HTMLFrameElement和HTMLIFrameElement表示,它們?cè)贒OM2級(jí)中都有了一個(gè)新屬性,名叫contentDocument,這個(gè)屬性包含一個(gè)指針,指向表示框架內(nèi)容的文檔對(duì)象
樣式 訪問(wèn)元素的樣式對(duì)于使用短劃線的CSS屬性名,必須將其轉(zhuǎn)換成駝峰大小寫形式,才能通過(guò)javaScript來(lái)訪問(wèn)
DOM樣式屬性和方法
DOM2級(jí)樣式規(guī)范還為style對(duì)象定義了一些屬性和方法,這些屬性和方法在提供元素的style特性值的同時(shí)也可以修改樣式
cssText :如前所述,通過(guò)它能夠訪問(wèn)到 style 特性中的 CSS 代碼。
length :應(yīng)用給元素的 CSS 屬性的數(shù)量。
parentRule :表示 CSS 信息的 CSSRule 對(duì)象。本節(jié)后面將討論 CSSRule 類型。
getPropertyCSSValue(propertyName) :返回包含給定屬性值的 CSSValue 對(duì)象。
getPropertyPriority(propertyName) :如果給定的屬性使用了 !important 設(shè)置,則返回"important" ;否則,返回空字符串。
getPropertyValue(propertyName) :返回給定屬性的字符串值。
item(index) :返回給定位置的 CSS 屬性的名稱。
removeProperty(propertyName) :從樣式中刪除給定屬性。
setProperty(propertyName,value,priority) :將給定屬性設(shè)置為相應(yīng)的值,并加上優(yōu)先權(quán)標(biāo)志( "important" 或者一個(gè)空字符串)。
計(jì)算的樣式
DOM2級(jí)樣式增強(qiáng)了document.defaultView,提供了getComputedStyle()方法,這個(gè)方法接受兩個(gè)參數(shù):要取得計(jì)算樣式的元素和一個(gè)偽元素字符串。如果不需要偽元素信息,第二個(gè)參數(shù)可以輸null
操作樣式表
CSSStyleSheet類型表示的是樣式表,包括通過(guò)元素包含的樣式表和在