| 文章索引 |
|---|
| SVG DOM规范 |
| SVG DOM对象 |
| SVG DOM交互 |
| 所有页面 |
SVG DOM遵循DOM1和DOM2,而且完全支持DOM2 Core规范。
DOM 2 Core规范中最核心最主要的对象主要有:Node对象、Document对象和Element对象。
Node对象是DOM中一个最基本的对象。使用它可以遍历整个文档,其中用到的属性主要有:parentNode(一个只读Node对象)、childNodes(一个只读NodeList对象)、firstChild(一个只读Node对象)、lastChild(一个只读Node对象)、previousSibling(一个只读Node对象)、nextSibling(一个只读Node对象)、ownerDocument(一个只读Document对象)。图1可以说明它们的关系。

Node对象还有一些很有用的方法,可以动态改变DOM层次结构,主要的有:insertBefore(newChild, refChild)、replaceChild(newChild,o ldChild)、removeChild(oldChild)、appendChild(newChild)、cloneNode(deep)等。
Document对象象征着XML文档DOM树的根,所有Node对象的ownerDocument属性就和它联系,主要为了方便每个Node找到创建者。Document对象从Node对象继承,除了拥有所有Node对象的属性和方法之外,还有自己的属性和方法,其中的。reateElement(tagName)和getElementByld(elementld)方法都返回Element对象,用于创建元素和按ID寻找元素,用得很多。
Element对象从Node对象继承,除了拥有所有Node对象的属性和方法之外,还有自己的属性和方法,其中的属性tagName(一个String数据)和方法getAttribute(name)和setAttribute(name,va lue)是属性的获取、修改的基本手段。
DOM2 Core中还有用于管理节点集合的对象,主要有代表节点链表集合的NodeList对象和代表以名字为关键字的散列集合的NamedNodeMap对象。
在标准DOM之外,SVG DOM提供自己特殊的DOM对象,其中主要用到了ElementTimeControl对象,它的方法beginElemento、endElement()可以让动画立刻开始和结束,这对脚本控制动画来说至关重要。