资讯专栏INFORMATION COLUMN

高程3总结#第12章DOM2和DOM3

Acceml / 485人阅读

摘要:如果不需要伪元素信息,第二个参数可以输操作样式表类型表示的是样式表,包括通过元素包含的样式表和在元素中定义的样式表表示样式表是否被禁用的布尔值。包括元素的高度可见的水平滚动条的高度上边框高度和下边框高度。显示处理指令节点。

DOM2和DOM3 DOM变化 针对XML命名空间的变化

有了XML命名空间,不同XML文档的元素就可以混合在一起,共同构成格式良好的文档,而不必担心发生命名冲突

Node类型的变化

在DOM2级中,Node类型包含下列特定于命名空间的属性

localName,不带命名空间前缀的节点名称

namespaceURI,命名空间URI或者null

prefix,命名空间前缀或者null

DOM3级更进一步,引入下列与命名空间有关的方法

isDefaultNamespace(namespaceURI),在指定的namespaceURI是当前节点的默认命名空间的情况下返回true

lookupNamespaceURI(prefix),返回给定prefix的命名空间

lookupPrefix(namespaceURI),返回给定namespaceURI的前缀

Document类型的变化

DOM2级的Document类型也发生了变化,包含下列与命名空间有关方法

createElementNS(namespaceURI,tagName),使用给定的tagName创建一个属于命名空间namespaceURI的新元素

createAttributeNS(namespaceURI,attributeName),使用给定的attributeName创建一个属于命名空间namespaceURI的新特性

getElementsByTagNameNS(namespaceURI,tagName),返回属于命名空间namespaceURI的tagName元素的NodeList

Element类型的变化

DOM2级核心中有关Element的变化,主要涉及操作特性

getAttributeNS(namespaceURI,localName),取得命名空间namespaceURI且名为localName的特性

getAttributeNodeNS(namespaceURI,localName),取得属于命名空间namespaceURI且名为localName的特性节点

getElementsByTagNameNS(namespaceURI,tagName),返回属于命名空间namespaceURI的tagName元素的NodeList

hasAttributeNS(namespaceURI,localName),确定当前元素是否有一个名为localName的特性,而且该特性的命名空间是namespaceURI

removeAttributeNS(namespaceURI,localName),删除属于命名空间namespaceURI且名为localName的特性

setAttributeNS(namespaceURI,qualifiedName,value),设置属于命名空间namespaceURI且名为localName的特性

setAttributeNodeNS(attNode),设置属于命名空间namespaceURI的特性节点

NamedNodeMap类型的变化

新增了与命名空间有关的方法

getNamedItemNS(namespaceURI,localName),取得属于命名空间namespaceURI且名为localName的项

removeNamedItemNS(namespaceURI,localName),移除属于命名空间namespaceURI且名为localName的项

setNamedItemNS(node),添加node,这个节点已经事先指定了命名空间信息

其他方面的变化

DocumentType类型的变化

新增了3个属性,publicId、systemId、internallSubset。前两个属性表示的是文档类型声明中的两个信息段,这两个信息段在DOM1级中是没有办法访问到的。最后一个属性internalSubset,用于访问包含在文档类型声明中的额外定义

Document类型的变化

与空间无关的方法是inportNode(),这个方法的用途是从一个文档中取得一个节点,然后将其导入到另一个文档,使其成为这个文档结构的一部分。

Node类型的变化

Node类型与命名空间无关的变化,就是添加了isSupported()方法,与DOM1级为document.implementation引入的hasFeature()方法类似,isSupported()方法用于确定当前节点具有什么能力,这个方法接收两个参数,特性名和特性版本号

DOM3级引入了两个辅助比较节点的方法,isSameNode()和isEqualNode()。这两个方法都接收一个节点参数,并在传入节点与引用的节点相同或相等时返回true

框架的变化

框架和内嵌框架分别用HTMLFrameElement和HTMLIFrameElement表示,它们在DOM2级中都有了一个新属性,名叫contentDocument,这个属性包含一个指针,指向表示框架内容的文档对象

样式 访问元素的样式

对于使用短划线的CSS属性名,必须将其转换成驼峰大小写形式,才能通过javaScript来访问

DOM样式属性和方法

DOM2级样式规范还为style对象定义了一些属性和方法,这些属性和方法在提供元素的style特性值的同时也可以修改样式

cssText :如前所述,通过它能够访问到 style 特性中的 CSS 代码。

length :应用给元素的 CSS 属性的数量。

parentRule :表示 CSS 信息的 CSSRule 对象。本节后面将讨论 CSSRule 类型。

getPropertyCSSValue(propertyName) :返回包含给定属性值的 CSSValue 对象。

getPropertyPriority(propertyName) :如果给定的属性使用了 !important 设置,则返回"important" ;否则,返回空字符串。

getPropertyValue(propertyName) :返回给定属性的字符串值。

item(index) :返回给定位置的 CSS 属性的名称。

removeProperty(propertyName) :从样式中删除给定属性。

setProperty(propertyName,value,priority) :将给定属性设置为相应的值,并加上优先权标志( "important" 或者一个空字符串)。

计算的样式

DOM2级样式增强了document.defaultView,提供了getComputedStyle()方法,这个方法接受两个参数:要取得计算样式的元素和一个伪元素字符串。如果不需要伪元素信息,第二个参数可以输null

操作样式表

CSSStyleSheet类型表示的是样式表,包括通过元素包含的样式表和在