unified

Project:syntax-tree/hast-util-parse-selector

Package:hast-util-parse-selector@2.2.3

  1. Dependencies:0·Dependents:10
  2. Parse a simple CSS selector to a HAST node
  1. hast 76
  2. rehype 75
  3. html 53
  4. parse 15
  5. css 9
  6. selector 4

hast-util-parse-selector

Build Coverage Downloads Size Sponsors Backers Chat

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

Install

npm:

npm install hast-util-parse-selector

Usage

var parseSelector = require('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

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.

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, organisation, or community you agree to abide by its terms.

License

MIT © Titus Wormer