核心Element对象
操作Element对象的属性
为了简化对attributes的处理,Element对象中包含了很多用来操纵Node对象的attributes属性的方法:
- getAttribute(name);
- setAttribute(name, value);
- removeAttribute(name);
类似地,还有一些使用DOM Attr节点对象来操纵属性的方法:
- getAttributeNode(name)方法取得指定属性的Attr节点
- setAttributeNode(newAttr)方法使用Attr对象的实例来设置属性
- removeAttributeNode(oldAttr)方法用来删除指定的属性节点
在Element对象中查找Element对象
在Element对象的范围内,可以用来查找其它节点的唯一有效方法是getElementsByTagName()。getElementsByTagName()方法返回的是一个NodeList对象,其中包括相应标签名称的引用;getElementsByTagName()方法返回的节点中只包含Element节点,不包括其它类型的节点。
Element对象中没有用于创建Element对象的方法;创建新DOM元素的操作完全由Document对象处理
核心Document对象
- document.documentElement
**注意document/window.document返回的是整个文档;而访问文档根元素用document.documentElement;
使用Document对象的方法创建节点
Document对象包含很多用来创建DOM节点新实例的方法。包括:
- createAttribute(name):创建节点类型为Node.ATTRIBUTE_NODE的Attr节点
- createCDATASection(data):创建节点类型为Node.CDATA_SECTION_NODE的CDATASection节点
- createComment(data):创建节点类型为Node.COMMENT_NODE的Comment节点
- createDocumentFragment():创建节点类型为Node.DOCUMENT_FRAGMENT_NODE的DocumentFragment节点
- createElement(tagName):创建节点类型为Node.ELEMENT_NODE的Element节点
- createEntityReference(name):创建节点类型为Node.ENTITY_REFERENCE_NODE的EntityReference节点
- createProcessingInstruction(target,data):创建节点类型为Node.PROCESSING_INSTRUCTION_NODE的ProcessingInstruction节点
- createTextNode(data):创建节点类型为Node.TEXT_NODE的Text节点
使用Document对象的方法查找Element对象
核心Document对象中另外另个重要的方法是getElementsByTagName()方法getElementById()方法
虽然Document对象的getElementsByTagName()方法与Element对象的同名方法功能相同,不过从技术上讲,它们不是同一个函数。Document对象虽然不是继承自Element对象,但它却包含了功能相同的getElementsByTagName()方法,因而可以用这个方法来查询整个文档。
由于不适用于XML文档,所以DOM核心中没有包括getElementsByClassName,不过仍然可以在HTML中使用
DOM2 HTML
DOM2 HTML的规范包含所有HTML元素的特定对象;每个DOM2 HTML对象都是扩展自DOM2核心对象
操作Element对象的属性
当HTML文档呈现在浏览器中时,window.document实际上是HTMLDocument对象的实例。在上图中,HTMLDocument对象从核心的Document对象继承了所有成员,而且还添加了一些属性和方法,如下:
- title:包含位于 'title' 标签的字符串
- referrer:包含链接到当前页面的URL
- domain:包含当前站点的域名
- URL:包含当前页面的URL
- body:引用从 'body' 节点开始的文档树
- images:包含所有 'img' 标签的数组
- applets:包含所有'applet'标签的数组
- links:包含所有'link'标签的数组
- forms:包含所有'form'标签的数组
- anchors:包含所有'a'标签的数组
- cookie:包含当前页面中所哟cookie信息的字符串
- open():打开一个文档,以便接受write()或writeln()方法的输出
- close:关闭当前的文档
- write(data):将输入写入到文档中
- writeln(data):将输入写入文档的同时写入一个换行符
DOM2 HTML的HTMLElement对象
继承自DOM2核心Element的HTMLElement对象,同样也添加了一些属性:
- id:包含id属性的值
- title:元素的标题
- lang:语言代码
- dir:文本的方向(默认是 从左向右 ltr)
- className:包含所有class属性