hast utility to create an element from a simple CSS selector.
npm:
npm install hast-util-parse-selector
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: [] }
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
.
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.