hast-util-parse-selector

hast utility to create an element from a simple CSS selector

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
hast-util-parse-selector
1003.1.02 years ago7 years agoMinified + gzip package size for hast-util-parse-selector in KB

Readme

hast-util-parse-selector
!Buildbuild-badgebuild !Coveragecoverage-badgecoverage !Downloadsdownloads-badgedownloads !Sizesize-badgesize !Sponsorssponsors-badgecollective !Backersbackers-badgecollective !Chatchat-badgechat
hasthast utility to create an elementelement 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 install hast-util-parse-selector
## Use

```js
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 elementelement nodenode 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
Elementelement.

Security

Improper use of the selector or defaultTagName can open you up to a cross-site scripting (XSS)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-santizesanitize.

Related

— parse complex CSS selectors to nodes

Contribute

See contributing.md in syntax-tree/.githubcontributing for ways to get started. See support.mdsupport for ways to get help.
This project has a code of conductcoc. By interacting with this repository, organization, or community you agree to abide by its terms.

License

MITlicense © Titus Wormerauthor