此类是 DomParser 类使用的类似 DOM 的节点的一种极简实现。

示例

const node = new tinymce.html.Node('strong', 1);
someRoot.append(node);

摘要

构造函数

名称摘要定义者

Node()

构造一个新的 Node 实例。

Node

方法

名称摘要定义者

append()

添加一个新节点作为当前节点的子节点。

Node

attr()

按名称获取/设置或移除一个属性。

Node

children()

获取此节点的所有子节点。

Node

clone()

对节点进行浅拷贝,生成一个新节点。同时将排除 id 属性,因为每个文档中应该只有一个 id。

Node

create()

创建一个特定类型的节点。

Node

empty()

移除当前节点的所有子节点。

Node

getAll()

按名称获取所有后代节点。

Node

insert()

在该节点的指定位置插入一个子节点。

Node

isEmpty()

如果节点应被视为空,则返回 true/false。

Node

remove()

从父节点中移除该节点。

Node

replace()

将当前节点替换为指定的节点。

Node

unwrap()

取消包裹节点,换句话说,就是移除该节点但保留其子节点。

Node

walk()

移动到下一个或上一个节点,并返回该节点;如果未找到则返回 null。

Node

wrap()

用另一个节点包裹该节点。

Node

构造函数

Node

public constructor function Node(name: String, type: Number)

构造一个新的 Node 实例。

参数

  • name (String) - 节点类型的名称。

  • type (Number) - 表示节点的数字类型。

方法

append()

append(node: tinymce.html.Node): tinymce.html.Node

添加一个新节点作为当前节点的子节点。

示例

node.append(someNode);

参数

  • node (Node) - 要添加为当前节点子节点的节点。

返回值

  • Node - 被添加的节点。


attr()

attr(name: String, value: String): String | tinymce.html.Node

按名称获取/设置或移除一个属性。

示例

someNode.attr('name', 'value'); // 设置属性
console.log(someNode.attr('name')); // 获取属性
someNode.attr('name', null); // 移除属性

参数

  • name (String) - 要设置或获取的属性名称。

  • value (String) - 可选的要设置的值。

返回值

  • String - 在获取操作中返回字符串或未定义值,在设置操作中返回当前节点。

  • Node - 在获取操作中返回字符串或未定义值,在设置操作中返回当前节点。


children()

children(): Array

获取此节点的所有子节点。

返回值

  • Array - 包含子节点的数组。


clone()

clone(): tinymce.html.Node

对节点进行浅拷贝,生成一个新节点。同时将排除 id 属性,因为每个文档中应该只有一个 id。

示例

const clonedNode = node.clone();

返回值

  • Node - 原始节点的新副本。


create()

create(name: String, attrs: Object)

创建一个特定类型的节点。

参数

  • name (String) - 要创建的节点类型的名称,例如 "b" 或 "#text"。

  • attrs (Object) - 将要应用到元素的属性名/值集合。


empty()

empty(): tinymce.html.Node

移除当前节点的所有子节点。

返回值

  • Node - 被清空的当前节点。


getAll()

getAll(name: String): Array

按名称获取所有后代节点。

参数

  • name (String) - 要收集的后代节点的名称。

返回值

  • Array - 与指定名称匹配的后代节点数组。


insert()

insert(node: tinymce.html.Node, refNode: tinymce.html.Node, before: Boolean): tinymce.html.Node

将一个节点作为当前节点的子节点插入到指定位置。

示例

parentNode.insert(newChildNode, oldChildNode);

参数

  • node (Node) - 要作为当前节点子节点插入的节点。

  • refNode (Node) - 用于设置插入节点在其之前/之后位置的参考节点。

  • before (Boolean) - 可选状态,用于指定是否将节点插入到参考节点之前。

返回值

  • Node - 已插入的节点。


isEmpty()

isEmpty(elements: Object, whitespace: Object, predicate: Function): Boolean

返回指示节点是否应被视为空节点的布尔值(true/false)。

示例

node.isEmpty({ img: true });

参数

  • elements (Object) - 键值对对象,包含的元素会被自动视为非空元素。

  • whitespace (Object) - 键值对对象,包含的元素会被自动视为可保留空白的元素。

  • predicate (Function) - 可选谓词函数,在确定节点为空节点后调用。如果节点是内容节点,则应返回true。

返回值

  • Boolean - 指示节点是否为空的布尔值(true/false)。


remove()

remove(): tinymce.html.Node

从当前节点的父节点中移除当前节点。

示例

node.remove();

返回值

  • Node - 已移除的当前节点。


replace()

replace(node: tinymce.html.Node): tinymce.html.Node

用指定的节点替换当前节点。

示例

someNode.replace(someNewNode);

参数

  • node (Node) - 用于替换当前节点的节点。

返回值

  • Node - 被替换的旧节点。


unwrap()

unwrap()

展开节点,即移除当前节点但保留其子节点。

示例

node.unwrap();

walk()

walk(prev: Boolean): tinymce.html.Node

遍历到下一个或上一个节点,如果未找到则返回null。

参数

  • prev (Boolean) - 可选的上一个节点状态标志,默认值为false。

返回值

  • Node - 当前节点的下一个或上一个节点。


wrap()

wrap()

用另一个节点包裹当前节点。

示例

node.wrap(wrapperNode);