domhandler
v6.0.1
Published
Handler for htmlparser2 that turns pages into a dom
Downloads
309,336,045
Readme
domhandler 
The DOM handler creates a tree containing all nodes of a page. The tree can be manipulated using the domutils or cheerio libraries and rendered using dom-serializer .
Usage
const handler = new DomHandler([ <func> callback(err, dom), ] [ <obj> options ]);
// const parser = new Parser(handler[, options]);Available options are described below.
Example
const { Parser } = require("htmlparser2");
const { DomHandler } = require("domhandler");
const rawHtml =
"Xyz <script language= javascript>var foo = '<<bar>>';</script><!--<!-- Waah! -- -->";
const handler = new DomHandler((error, dom) => {
if (error) {
// Handle error
} else {
// Parsing completed, do something
console.log(dom);
}
});
const parser = new Parser(handler);
parser.write(rawHtml);
parser.end();Output:
[
{
data: "Xyz ",
type: "text",
},
{
type: "script",
name: "script",
attribs: {
language: "javascript",
},
children: [
{
data: "var foo = '<bar>';<",
type: "text",
},
],
},
{
data: "<!-- Waah! -- ",
type: "comment",
},
];Option: withStartIndices
Add a startIndex property to nodes.
When the parser is used in a non-streaming fashion, startIndex is an integer
indicating the position of the start of the node in the document.
The default value is false.
Option: withEndIndices
Add an endIndex property to nodes.
When the parser is used in a non-streaming fashion, endIndex is an integer
indicating the position of the end of the node in the document.
The default value is false.
License: BSD-2-Clause
Security contact information
To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.
