hast-util-parse-selector

hast utility to create an element from a simple CSS selector

Usage no npm install needed!

<script type="module">
  import hastUtilParseSelector from 'https://cdn.skypack.dev/hast-util-parse-selector';
</script>

README

hast-util-parse-selector

Build Coverage Downloads Size Sponsors Backers Chat

hast utility to create an element from a simple CSS selector.

Install

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-selector

Use

import {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: [] }

API

This package exports the following identifiers: parseSelector. There is no default export.

parseSelector([selector][, defaultTagName])

Create an element node from a simple CSS selector.

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.

defaultTagName

string, optional, defaults to div — Tag name to use if selector does not specify one.

Returns

Element.

Security

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.

Related

Contribute

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.

License

MIT © Titus Wormer