Node对象
Node
是一个接口,各种类型的DOM API
对象会从这个接口继承,其允许我们使用相似的方式对待这些不同类型的对象。
属性
Node.prototype.baseURI
: 只读,返回一个表示base URL
的DOMString
,不同语言中的base URL
的概念都不一样,在HTML
中base URL
表示协议和域名,以及一直到最后一个/
之前的文件目录。Node.prototype.baseURIObject
: 只读的nsIURI
对象表示元素的base URI
(不适用于网页内容)。Node.prototype.childNodes
: 只读,返回一个包含了该节点所有子节点的实时的NodeList
,NodeList
是动态变化的,如果该节点的子节点发生了变化,NodeList
对象就会自动更新。Node.prototype.firstChild
: 只读,返回该节点的第一个子节点Node
,如果该节点没有子节点则返回null
。Node.prototype.isConnected
: 只读,返回一个布尔值用来检测该节点是否已连接(直接或者间接)到一个上下文对象上,比如通常DOM
情况下的Document
对象,或者在shadow DOM
情况下的ShadowRoot
对象。Node.prototype.lastChild
: 只读,返回该节点的最后一个子节点Node
,如果该节点没有子节点则返回null
。Node.prototype.nextSibling
: 只读,返回与该节点同级的下一个节点Node
,如果没有返回null
。Node.prototype.nodeName
: 只读,返回一个包含该节点名字的DOMString
,节点的名字的结构和节点类型不同,HTMLElement
的名字跟它所关联的标签对应,就比如HTMLAudioElement
的就是audio
,Text
节点对应的是#text
,还有Document
节点对应的是#document
。Node.prototype.nodeType
: 只读,返回一个与该节点类型对应的无符号短整型的值。Node.prototype.nodeValue
: 返回或设置当前节点的值。Node.prototype.ownerDocument
: 只读,返回这个元素属于的Document
对象,如果没有Document
对象与之关联,返回null
。Node.prototype.parentNode
: 只读,返回一个当前节点Node
的父节点。如果没有这样的节点,比如说像这个节点是树结构的顶端或者没有插入一棵树中, 这个属性返回null
。Node.prototype.parentElement
: 只读,返回一个当前节点的父节点Element
。如果当前节点没有父节点或者说父节点不是一个元素Element
, 这个属性返回null
。Node.prototype.previousSibling
: 只读,返回一个当前节点同辈的前一个节点Node
,如果不存在这样的一个节点的话返回null
。Node.prototype.textContent
: 返回或设置一个元素内所有子节点及其后代的文本内容。
方法
Node.prototype.appendChild()
: 将指定的childNode
参数作为最后一个子节点添加到当前节点,如果参数引用了DOM
树上的现有节点,则节点将从当前位置分离,并附加到新位置。Node.prototype.cloneNode()
: 克隆一个Node
,并且可以选择是否克隆这个节点下的所有内容,默认情况下,节点下的内容会被克隆。Node.prototype.compareDocumentPosition()
: 比较当前节点与文档中的另一节点的位置。Node.prototype.contains()
: 返回一个Boolean
布尔值,来表示传入的节点是否为该节点的后代节点。Node.prototype.getRootNode()
: 返回上下文对象的根节点,如果shadow root
节点存在的话,也可以在返回的节点中包含它。Node.prototype.hasChildNodes()
: 返回一个Boolean
布尔值,来表示该元素是否包含有子节点。Node.prototype.insertBefore()
: 在当前节点下增加一个子节点Node
,并使该子节点位于参考节点的前面。Node.prototype.isDefaultNamespace()
: 返回一个Boolean
类型值,接受一个命名空间URI
作为参数,当参数所指代的命名空间是默认命名空间时返回true
,否则返回false
。Node.prototype.isEqualNode()
: 返回一个Boolean
类型值,当两个node
节点为相同类型的节点且定义的数据点匹配时(即属性和属性值相同,节点值相同)返回true
,否则返回false
。Node.prototype.isSameNode()
: 返回一个Boolean
类型值,返回这两个节点的引用比较结果。Node.prototype.lookupPrefix()
: 返回包含参数URI
所对应的命名空间前缀的DOMString
,若不存在则返回null
,如果存在多个可匹配的前缀,则返回结果和浏览器具体实现有关。Node.prototype.lookupNamespaceURI()
: 接受一个前缀,并返回前缀所对应节点命名空间URI
,如果URI
不存在则返回null
,传入null
作为prefix
参数将返回默认命名空间。Node.prototype.normalize()
: 对该元素下的所有文本子节点进行整理,合并相邻的文本节点并清除空文本节点。Node.prototype.removeChild()
: 移除当前节点的一个子节点。这个子节点必须存在于当前节点中。Node.prototype.replaceChild()
: 对选定的节点,替换一个子节点Node
为另外一个节点。
每日一题
https://github.com/WindrunnerMax/EveryDay
参考
https://developer.mozilla.org/zh-CN/docs/Web/API/Node