此类是 DomParser 类使用的类似 DOM 的节点的一种极简实现。
示例
const node = new tinymce.html.Node('strong', 1);
someRoot.append(node);摘要
构造函数
| 名称 | 摘要 | 定义者 |
|---|---|---|
Node() | 构造一个新的 Node 实例。 |
|
方法
| 名称 | 摘要 | 定义者 |
|---|---|---|
append() | 添加一个新节点作为当前节点的子节点。 |
|
attr() | 按名称获取/设置或移除一个属性。 |
|
children() | 获取此节点的所有子节点。 |
|
clone() | 对节点进行浅拷贝,生成一个新节点。同时将排除 id 属性,因为每个文档中应该只有一个 id。 |
|
create() | 创建一个特定类型的节点。 |
|
empty() | 移除当前节点的所有子节点。 |
|
getAll() | 按名称获取所有后代节点。 |
|
insert() | 在该节点的指定位置插入一个子节点。 |
|
isEmpty() | 如果节点应被视为空,则返回 true/false。 |
|
remove() | 从父节点中移除该节点。 |
|
replace() | 将当前节点替换为指定的节点。 |
|
unwrap() | 取消包裹节点,换句话说,就是移除该节点但保留其子节点。 |
|
walk() | 移动到下一个或上一个节点,并返回该节点;如果未找到则返回 null。 |
|
wrap() | 用另一个节点包裹该节点。 |
|
构造函数
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);