hast-util-parse-selector
hast utility to create an element from a simple CSS selector.
Install
npm:
npm install hast-util-parse-selector
Use
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
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
hast-util-from-selector
— parse complex CSS selectors to nodes
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.