scan
v0.9.0
Published
querySelectorAll selector engine
Downloads
52
Maintainers
Readme
scan
standalone querySelectorAll selector engine with jQuery-like interface
$ npm install scan --save
Basic usage
var scan = require('scan')
scan('.example').find('a').not('[href^="#"]')
API (0.9)
scan(query, context?)
scan(selector)
→ elements that match selectorscan(selector, node|nodes)
→ elements that match selector from node or any nodesscan(node|nodes)
→ nodes wrapped inscan
instance
.find(needle)
scan(query).find(selector)
→ descendants that match selectorscan(query).find(element|elements)
→ elements that descend from queryscan(stack).find(fn, scope?)
→ the first value to passfn.call(scope, value, i, stack)
.filter(needle)
scan(query).filter(nodes, selector)
→ stack filtered by selectorscan(query).filter(fn)
→ stack filtered byfn.call(element, i)
scan(query).filter(element|elements)
→ stack filtered by one or more elementsscan(array).filter(values)
→ the intersection of 2 arrays
.not(needle)
scan(query).filter(selector)
→nodes
filtered againstselector
scan(query).not(fn)
→ stack filtered againstfn.call(element, i)
scan(query).not(element|elements)
→ stack filtered against one or more elementsscan(array).not(values)
→ the difference of 2 arrays
#find(needle)
scan.find(selector, context?)
→ array of elements that match selectorscan.find(stack, fn, scope?)
→ the first value to passfn.call(scope, value, i, stack)
#matches(element, selector)
scan.matches(element, selector)
→true
if element matches selector
#contains(haystack, needle)
scan.contains(node, element)
→true
if node contains elementscan.contains(stack, item, start=0)
→true
if stack contains itemscan.contains(str, substr, start=0)
→true
if str contains substr
Support
Selector queries use querySelectorAll
where available or else degrade to getElementsByTagName
.
- Lone tag selectors like
'p'
work in IE5.5+ and all other browsers - The universal selector
'*'
works in IE6+ and all other browsers - CSS2+ selectors work in IE8+, FF3.5+, Opera 10+, and all other browsers
- CSS3+ selectors work in IE9+, FF3.5+, Opera 10+, and all other browsers
Developers
Contribute by making edits in /src
or reporting issues.
$ npm install
$ grunt test
Fund
License
MIT