Javascript——Node属性及方法

Node接口在DOM API中广泛使用,使得处理各种DOM对象变得统一。它提供了如节点类型判断、操作子节点等方法。Node.nodeType属性是区分元素、文本、注释等节点类型的关键,返回对应的整数标识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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_NODE1一个 元素节点,例如 <p>和<div>
Node.TEXT_NODE3Element或者 Attr中实际的 文字
Node.CDATA_SECTION_NODE4一个 CDATASection例如 <!CDATA[[ … ]]>。
Node.PROCESSING_INSTRUCTION_NODE7一个用于XML文档的ProcessingInstruction,例如<?xml-stylesheet ... ?>声明
Node.COMMENT_NODE8一个Comment节点
Node.DOCUMENT_NODE9一个Document节点
Node.DOCUMENT_TYPE_NODE10描述文档类型的DocumentType节点。例如<!DOCTYPE html> 就是用于HTML5的
Node.DOCUMENT_FRAGMENT_NODE11一个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()用参数中给定的第二个子节点替换当前节点的一个子节点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值