DOM--3 DOM核心和DOM2 HTML(2)
2015-01-30 19:57
471 查看
核心Node对象
由于继承扩展的关系,DOM中大部分对象会有Node对象的属性和方法,其中包括:nodeName
DOM2核心中规定的每种nodeType预期的nodeName值
对象 | 返回值 |
---|---|
Element.nodeName | 元素的名称,大写 |
Attr.nodeName | 属性的名称,大写 |
Text.nodeName | #text |
CDATASection.nodeName | #cdata-section |
EntityReference.nodeName | 实体引用的名称 |
Entity.nodeName | 实体的名称 |
ProcessingInstruction.nodeName | 目标的名称 |
Comment.nodeName | #comment |
Document.nodeName | #document |
DocumentType.nodeName | 文档类型的名称,如HTML |
DocumentFragment.nodeName | #document fragment |
Notation.nodeName | 表示法的名称 |
要注意的是不是所有的DOM对象都是有意义的
对象 | 返回值 |
---|---|
Element.nodeName | null |
Attr.nodeName | 字符串形式的属性值 |
Text.nodeName | 字符串形式的节点内容 |
CDATASection.nodeName | 字符串形式的节点内容 |
EntityReference.nodeName | null |
Entity.nodeName | null |
ProcessingInstruction.nodeName | 字符串形式的节点内容 |
Comment.nodeName | 字符串形式的注释文本 |
Document.nodeName | null |
DocumentType.nodeName | null |
DocumentFragment.nodeName | null |
Notation.nodeName | null |
等价命名常量 | nodeType值 |
---|---|
Node.ELEMENT_NODE | 1 |
Node.ATTRIBUTE_NODE | 2 |
Node.TEXT_NODE | 3 |
Node.CDATA_SECTION_NODE | 4 |
Node.ENTITY_REFERENCE_NODE | 5 |
Node.ENTITY_NODE | 6 |
Node.PROCESSING_INSTRUCTION_NODE | 7 |
Node.COMMENT_NODE | 8 |
Node.DOCUMENT_NODE | 9 |
Node.DOCUMENT_TYPE_NODE | 10 |
Node.DOCUMENT_FRAGMENT_NODE | 11 |
Node.NOTATION_NODE | 12 |
if(node.nodeType == Node.ELEMENT_NODE) { }
parentNode/childNodes
树形结构中,每个Node对象都有许多预定义的属性,分别引用树中的其它相关节点。这些属性除了childNodes引用的是包含DOM对象的NodeList类数组对象(所以可以用item方法获取索引),其它的都引用一个实际的DOM对象。
firstChild/lastChild (一般情况下,这两个节点都应该会是Text节点)
previousSibling/nextSibling(如果没有的话,返回null)
节点的属性
节点属性也扩展自Node对象,但是它不是包含在通常表示父子关系的树形结构中;作为Attr对象的实例,节点属性被包含在相应节点的attributes成员的一个NamedNodeMap对象中DOM2中,attributes是Node接口定义的属性,其还实现了Attr和NameNodeMap接口;事实上其包含的是一个节点的所有属性的集合
node.attributes
item, 也可以用次方法获取索引(NameNodeMap对象中的方法)
getNamedItem 根据具体的属性名来获取属性 (NameNodeMap对象中的方法)(getNamedItem()方法与Element对象的getAttribute()方法类似,不过attributes.getNamedItem()方法在任何节点上都有效,也包括那些不是Element对象的节点。)
获取的属性的属性,nodeName/nodeType/nodeValue(现在改为value)
ownerDocument
节点的ownerDocument属性是指向节点所属的根文档的引用。大多数情况下,都可以通过它在作用域中引用document,或者window.document,因为在浏览器中只会有一个document的实例。
hasChildNodes()/hasAttributes() 检查某个节点是否具有子节点或属性 (而获取它们的个数分别是childNodes.length/attributes.length)
操纵DOM节点树
appendChild()/insertBefore(new, node)replaceChild(new, old)/removeChild() ;注意它们是在父节点操作的;
注意一般获取节点的操作都是直接获取引用,要向操作其副本,使用cloneNode();
相关文章推荐
- DOM--3 DOM核心和DOM2 HTML(1)
- DOM2核心和DOM2 HTML
- DOM--3 DOM核心和DOM2 HTML(3)
- HTML DOM与核心DOM的区别
- 核心DOM获取<html>和<body>标签对象
- DOM2核心和DOM2 HTML
- jQuery 核心函数:jQuery(html,[ownerDocument])动态创建DOM元素
- JavaScript DOM高级程序设计 3.-DOM2和HTML2--我要坚持到底!
- javaScript学习之HTML DOM Document对象
- DOM 可被 JavaScript 用来读取、改变 HTML、XHTML 以及 XML 文档。
- HTML DOM 多想单选时 显示选定的值
- 类jquery的php解析html库,simple_html_dom
- HTML DOM简介
- html/css基础篇——DOM中关于脱离文档流的几种情况分析
- [Selenium]当DOM结构里面有iFrame,iFrame里面是html,怎么send keys to 里面的body,怎么用Assert进行验证?
- javascript DOM操作HTML文档
- HTML DOM Document 方法
- 区别:DOM Core 与 HTML-DOM
- 前端之HTML DOM操作
- 理解WebKit和Chromium: HTML解析和DOM