当前位置: 首页 > 工具软件 > ShadowNode > 使用案例 >

Node对象

湛鸿
2023-12-01

Node对象

Node是一个接口,各种类型的DOM API对象会从这个接口继承,其允许我们使用相似的方式对待这些不同类型的对象。

属性

  • Node.prototype.baseURI: 只读,返回一个表示base URLDOMString,不同语言中的base URL的概念都不一样,在HTMLbase URL表示协议和域名,以及一直到最后一个/之前的文件目录。
  • Node.prototype.baseURIObject: 只读的nsIURI对象表示元素的base URI(不适用于网页内容)。
  • Node.prototype.childNodes: 只读,返回一个包含了该节点所有子节点的实时的NodeListNodeList是动态变化的,如果该节点的子节点发生了变化,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的就是audioText节点对应的是#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
 类似资料: