dom-serializer

render domhandler DOM nodes to a string

Usage no npm install needed!

<script type="module">
  import domSerializer from 'https://cdn.skypack.dev/dom-serializer';
</script>

README

dom-serializer Build Status

Renders a domhandler DOM node or an array of domhandler DOM nodes to a string.

import render from "dom-serializer";

// OR

const render = require("dom-serializer").default;

API

render

render(node: Node | Node[], options?: Options): string

Renders a DOM node or an array of DOM nodes to a string.

Can be thought of as the equivalent of the outerHTML of the passed node(s).

Parameters:

Name Type Default value Description
node Node | Node[] - Node to be rendered.
options DomSerializerOptions {} Changes serialization behavior

Returns: string

Options

decodeEntities

Optional decodeEntities: boolean

Encode characters that are either reserved in HTML or XML, or are outside of the ASCII range.

default true


emptyAttrs

Optional emptyAttrs: boolean

Print an empty attribute's value.

default xmlMode

example With emptyAttrs: false: <input checked>

example With emptyAttrs: true: <input checked="">


selfClosingTags

Optional selfClosingTags: boolean

Print self-closing tags for tags without contents.

default xmlMode

example With selfClosingTags: false: <foo></foo>

example With selfClosingTags: true: <foo />


xmlMode

Optional xmlMode: boolean | "foreign"

Treat the input as an XML document; enables the emptyAttrs and selfClosingTags options.

If the value is "foreign", it will try to correct mixed-case attribute names.

default false


Ecosystem

Name Description
htmlparser2 Fast & forgiving HTML/XML parser
domhandler Handler for htmlparser2 that turns documents into a DOM
domutils Utilities for working with domhandler's DOM
css-select CSS selector engine, compatible with domhandler's DOM
cheerio The jQuery API for domhandler's DOM
dom-serializer Serializer for domhandler's DOM

LICENSE: MIT