{ } qjs-modules

dom

Source: lib/dom.js (pure JS)

A lightweight DOM implementation: node/element classes, a parser, collections, serialization, and mutation observers.

Core node classes

ClassDescription
NodeBase node (extends Interface): parent/child links, nodeType, traversal.
ElementElement node (extends Node): attributes, children, query methods.
DocumentDocument root (extends Element).
AttrAttribute node (extends Node).
CharacterDataBase for text-bearing nodes (extends Node).
TextText node (extends CharacterData).
CommentComment node (extends CharacterData).
InterfaceShared base providing property plumbing.
DOMExceptionDOM error type (extends Error).

Collections

Class / functionDescription
NodeListLive/static list of nodes.
HTMLCollectionElement collection.
NamedNodeMapAttribute map.
NamedMap(node, get, keys)Generic name-keyed map.
Collection(obj, get, len, proto)Builds an array-like collection facade.
TokenListclassList-style token set.
CSSStyleDeclarationstyle-attribute model.
ListAdapter(list, key)Adapts a list to a named map.
MapItems(list, t) / FindItem(list, pred) / FindItemIndex(list, pred)List helpers.

Parsing, building & serialization

Class / functionDescription
ParserParses markup into a node tree.
FactoryCreates nodes of the right class for an owner document.
Classes() / Prototypes(constructors)Build the class/prototype tables.
GetType(raw) / GetNode(raw, owner, factory)Map raw parse nodes to DOM nodes.
SerializerSerializes a node tree back to markup.

Mutation observation

ClassDescription
MutationObserverObserves subtree mutations and delivers records.
MutationRecordA single recorded mutation.

Constants

Entities, nodeTypes, NODE_TYPES — entity tables and node-type enumerations.