node package manager
Painless code sharing. npm Orgs help your team discover, share, and reuse code. Create a free org »

style-selector

style-selector Build Status Coverage Status

NPM

CSS selector constructor

Uses Slick to parse and tokenize the CSS selectors.

Install

Install with npm

npm install --save style-selector

Usage v2

var selector = require('style-selector'),
    bodySelector = selector('body', [ 0, 0, 0, 1 ]);
 
console.log(bodySelector);                  // { text: 'body', spec: [ 0, 0, 0, 1 ] } 
console.log(bodySelector.parsed());         // { '0': { combinator: ' ', tag: 'body' }, length: 1 } 
console.log(bodySelector.specificity());    // [ 0, 0, 0, 1 ] 

Usage v1

var Selector = require('style-selector'),
    bodySelector = new Selector('body', [ 0, 0, 0, 1 ]);
 
console.log(bodySelector);                  // { text: 'body', spec: [ 0, 0, 0, 1 ] } 
console.log(bodySelector.parsed());         // { '0': { combinator: ' ', tag: 'body' }, length: 1 } 
console.log(bodySelector.specificity());    // [ 0, 0, 0, 1 ] 

v2 API

selector(text, spec)

CSS selector constructor

text

Type: String
Default: none

Selector text

spec

Type: Array
Default: none

Optional, precalculated specificity

selector.parsed()

Get parsed selector

selector.specificity()

Lazy specificity getter

v1 API

Selector(text, spec)

CSS selector constructor

text

Type: String
Default: none

Selector text

spec

Type: Array
Default: none

Optional, precalculated specificity

Selector.prototype.parsed()

Get parsed selector

Selector.prototype.specificity()

Lazy specificity getter

Credit

The code for this module was originally taken from the Juice library.

License

MIT