hast utility to create an element from a simple CSS selector.
This package is ESM only:
Node 12+ is needed to use it and it must be imported instead of required.
npm:
npm install hast-util-parse-selectorimport {parseSelector} from 'hast-util-parse-selector'
console.log(parseSelector('.quux#bar.baz.qux'))Yields:
{ type: 'element',
tagName: 'div',
properties: { id: 'bar', className: [ 'quux', 'baz', 'qux' ] },
children: [] }This package exports the following identifiers: parseSelector.
There is no default export.
Create an element node from a simple CSS selector.
string, optional — Can contain a tag name (foo), classes (.bar),
and an ID (#baz).
Multiple classes are allowed.
Uses the last ID if multiple IDs are found.
string, optional, defaults to div — Tag name to use if selector does not
specify one.
Improper use of the selector or defaultTagName can open you up to a
cross-site scripting (XSS) attack as the value of tagName, when
resolving to script, injects a script element into the syntax tree.
Do not use user input in selector or use hast-util-santize.
hast-util-from-selector— parse complex CSS selectors to nodes
See contributing.md in syntax-tree/.github for ways to get
started.
See support.md for ways to get help.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.