Node是一个接口,许多 DOM API对象的类型会从这个接口继承。它允许我们使用相似的方式对待这些不同类型的对象;比如继承同一组方法,或者用同样的方式测试。
在方法和属性不相关的特定情况下,这些接口可能返回 null。当将子节点添加到不允许子节点存在的节点时,它们可能会抛出异常。
属性 | 概念 |
---|
Node.baseURI | 返回一个表示base URL的DOMString。不同语言中的base URL的概念都不一样。 在HTML中,base URL表示协议和域名,以及一直到最后一个’/'之前的文件目录。 |
Node.childNodes | 返回一个包含了该节点所有子节点的实时的NodeList。如果该节点的子节点发生了变化,NodeList对象就会自动更新。 |
Node.firstChild | 返回该节点的第一个子节点Node,如果该节点没有子节点则返回null |
Node.isConnected | 返回一个布尔值用来检测该节点是否已连接(直接或者间接)到一个上下文对象上,比如通常DOM情况下的Document对象,或者在shadow DOM情况下的ShadowRoot对象 |
Node.lastChild | 返回该节点的最后一个子节点Node,如果该节点没有子节点则返回null |
Node.nextSibling | 返回一个包含该节点名字的DOMString。节点的名字的结构和节点类型不同。比如HTMLElement的名字跟它所关联的标签对应,就比如HTMLAudioElement的就是 ‘audio’ ,Text节点对应的是 ‘#text’ 还有Document节点对应的是 ‘#document’。 |
Node.nodeName | 返回与该节点同级的下一个节点 Node,如果没有返回null |
Node.nextSibling | 返回与该节点同级的下一个节点 Node,如果没有返回null |
Node.nodeValue | 返回或设置当前节点的值 |
Node.ownerDocument | 返回这个元素属于的Document对象。如果没有Document对象与之关联,返回null |
Node.parentNode | 返回一个当前结点 Node的父节点 。如果没有这样的节点,,比如说像这个节点是树结构的顶端或者没有插入一棵树中, 这个属性返回null |
Node.parentElement | 返回一个当前节点的父节点 Element。如果当前节点没有父节点或者说父节点不是一个元素(Element), 这个属性返回null |
Node.previousSibling | 返回一个当前节点同辈的前一个结点( Node) ,或者返回null(如果不存在这样的一个节点的话)。 |
Node.textContent | 返回或设置一个元素内所有子结点及其后代的文本内容 |
Node.nodeType属性可用来区分不同类型的节点,比如元素,文本和注释。
返回一个整数,其代表的是节点类型:
var type = node.nodeType;
常量 | 值 | 描述 |
---|
Node.ELEMENT_NODE | 1 | 一个 元素节点,例如 <p>和<div> |
Node.TEXT_NODE | 3 | Element或者 Attr中实际的 文字 |
Node.CDATA_SECTION_NODE | 4 | 一个 CDATASection例如 <!CDATA[[ … ]]>。 |
Node.PROCESSING_INSTRUCTION_NODE | 7 | 一个用于XML文档的ProcessingInstruction,例如<?xml-stylesheet ... ?>声明 |
Node.COMMENT_NODE | 8 | 一个Comment节点 |
Node.DOCUMENT_NODE | 9 | 一个Document节点 |
Node.DOCUMENT_TYPE_NODE | 10 | 描述文档类型的DocumentType节点。例如<!DOCTYPE html> 就是用于HTML5的 |
Node.DOCUMENT_FRAGMENT_NODE | 11 | 一个DocumentFragment节点 |
方法 | 用法 |
---|
Node.appendChild() | 将指定的childNode参数作为最后一个子节点添加到当前节点。如果参数引用了 DOM 树上的现有节点,则节点将从当前位置分离,并附加到新位置。 |
Node.cloneNode() | 克隆一个Node,并且可以选择是否克隆这个节点下的所有内容。默认情况下,节点下的内容会被克隆 |
Node.compareDocumentPosition() | 比较当前节点与文档中的另一节点的位置 |
Node.contains() | 返回一个Boolean布尔值,来表示传入的节点是否为该节点的后代节点 |
Node.getRootNode() | 返回上下文对象的根结点。如果shadow root节点存在的话,也可以在返回的节点中包含它。 |
Node.hasChildNodes() | 返回一个Boolean 布尔值,来表示该元素是否包含有子节点。 |
Node.insertBefore() | 在当前节点下增加一个子节点 Node,并使该子节点位于参考节点的前面。 |
Node.removeChild() | 从当前元素中删除一个子节点,该子节点必须是当前节点的子节点。 |
Node.replaceChild() | 用参数中给定的第二个子节点替换当前节点的一个子节点。 |