tinymce.html.Node

This class is a minimalistic implementation of a DOM like node used by the DomParser class.

Examples

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

Summary

Constructors

Name Summary Defined by

Node()

Constructs a new Node instance.

Node

Methods

Name Summary Defined by

append()

Appends a new node as a child of the current node.

Node

attr()

Gets/sets or removes an attribute by name.

Node

children()

Get all children of this node.

Node

clone()

Does a shallow clones the node into a new node. It will also exclude id attributes since there should only be one id per document.

Node

create()

Creates a node of a specific type.

Node

empty()

Removes all children of the current node.

Node

getAll()

Get all descendants by name.

Node

insert()

Inserts a node at a specific position as a child of this node.

Node

isEmpty()

Returns true/false if the node is to be considered empty or not.

Node

remove()

Removes the node from it’s parent.

Node

replace()

Replaces the current node with the specified one.

Node

unwrap()

Unwraps the node in other words it removes the node but keeps the children.

Node

walk()

Walks to the next or previous node and returns that node or null if it wasn’t found.

Node

wrap()

Wraps the node in in another node.

Node

Constructors

Node

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

Constructs a new Node instance.

Parameters

  • name (String) - Name of the node type.

  • type (Number) - Numeric type representing the node.

Methods

append()

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

Appends a new node as a child of the current node.

Examples

node.append(someNode);

Parameters

  • node (Node) - Node to append as a child of the current one.

Return value

  • Node - The node that got appended.


attr()

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

Gets/sets or removes an attribute by name.

Examples

someNode.attr('name', 'value'); // Sets an attribute
console.log(someNode.attr('name')); // Gets an attribute
someNode.attr('name', null); // Removes an attribute

Parameters

  • name (String) - Attribute name to set or get.

  • value (String) - Optional value to set.

Return value

  • String - String or undefined on a get operation or the current node on a set operation.

  • Node - String or undefined on a get operation or the current node on a set operation.


children()

children(): Array

Get all children of this node.

Return value

  • Array - Array containing child nodes.


clone()

clone(): tinymce.html.Node

Does a shallow clones the node into a new node. It will also exclude id attributes since there should only be one id per document.

Examples

const clonedNode = node.clone();

Return value

  • Node - New copy of the original node.


create()

create(name: String, attrs: Object)

Creates a node of a specific type.

Parameters

  • name (String) - Name of the node type to create for example "b" or "#text".

  • attrs (Object) - Name/value collection of attributes that will be applied to elements.


empty()

empty(): tinymce.html.Node

Removes all children of the current node.

Return value

  • Node - The current node that got cleared.


getAll()

getAll(name: String): Array

Get all descendants by name.

Parameters

  • name (String) - Name of the descendant nodes to collect.

Return value

  • Array - Array with descendant nodes matching the specified name.


insert()

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

Inserts a node at a specific position as a child of this node.

Examples

parentNode.insert(newChildNode, oldChildNode);

Parameters

  • node (Node) - Node to insert as a child of this node.

  • refNode (Node) - Reference node to set node before/after.

  • before (Boolean) - Optional state to insert the node before the reference node.

Return value

  • Node - The node that got inserted.


isEmpty()

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

Returns true/false if the node is to be considered empty or not.

Examples

node.isEmpty({ img: true });

Parameters

  • elements (Object) - Name/value object with elements that are automatically treated as non empty elements.

  • whitespace (Object) - Name/value object with elements that are automatically treated whitespace preservables.

  • predicate (Function) - Optional predicate that gets called after the other rules determine that the node is empty. Should return true if the node is a content node.

Return value

  • Boolean - true/false if the node is empty or not.


remove()

remove(): tinymce.html.Node

Removes the node from it’s parent.

Examples

node.remove();

Return value

  • Node - Current node that got removed.


replace()

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

Replaces the current node with the specified one.

Examples

someNode.replace(someNewNode);

Parameters

  • node (Node) - Node to replace the current node with.

Return value

  • Node - The old node that got replaced.


unwrap()

unwrap()

Unwraps the node in other words it removes the node but keeps the children.

Examples

node.unwrap();

walk()

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

Walks to the next or previous node and returns that node or null if it wasn’t found.

Parameters

  • prev (Boolean) - Optional previous node state defaults to false.

Return value

  • Node - Node that is next to or previous of the current node.


wrap()

wrap()

Wraps the node in in another node.

Examples

node.wrap(wrapperNode);